Class BlockingUDPTransport

    • Field Detail

      • responseHandler

        protected final ResponseHandler responseHandler
        Response handler.
      • closed

        protected volatile boolean closed
        Closed status.
    • Method Detail

      • start

        public void start()
        Start processing requests.
      • isOpen

        public boolean isOpen()
        Specified by:
        isOpen in interface Channel
      • acquire

        public boolean acquire​(TransportClient client)
        Description copied from interface: Transport
        Acquires transport.
        Specified by:
        acquire in interface Transport
        Parameters:
        client - client (channel) acquiring the transport
        Returns:
        true if transport was granted, false otherwise.
      • release

        public void release​(TransportClient client)
        Description copied from interface: Transport
        Releases transport.
        Specified by:
        release in interface Transport
        Parameters:
        client - client (channel) releasing the transport
      • processRead

        protected void processRead()
        Process input (read) IO event.
      • processWrite

        protected void processWrite()
        Process output (write) IO event.
      • send

        public boolean send​(ByteBuffer buffer,
                            BlockingUDPTransport.InetAddressType target)
        Send a buffer through the transport.
        Parameters:
        buffer - buffer to send.
        target - filter (selector) of what addresses to use when sending.
        Returns:
        success status.
      • send

        public boolean send​(ByteBuffer buffer)
        Send a buffer through the transport.
        Parameters:
        buffer - buffer to send.
        Returns:
        success status.
      • send

        public void send​(ByteBuffer buffer,
                         InetSocketAddress address)
        Send a buffer through the transport immediately.
        Parameters:
        buffer - buffer to send.
        address - send address.
      • flush

        public boolean flush()
        Flush...
        Returns:
        success status.
      • getSendAddresses

        public InetSocketAddress[] getSendAddresses()
        Get list of send addresses.
        Returns:
        send addresses.
      • getIgnoredAddresses

        public InetSocketAddress[] getIgnoredAddresses()
        Get list of ignored addresses.
        Returns:
        ignored addresses.
      • getBindAddress

        public InetSocketAddress getBindAddress()
        Get bind address.
        Returns:
        bind address.
      • setSendAddresses

        public void setSendAddresses​(InetSocketAddress[] addresses)
        Set list of send addresses.
        Parameters:
        addresses - list of send addresses, non-null.
      • setIgnoredAddresses

        public void setIgnoredAddresses​(InetSocketAddress[] addresses)
        Set ignore list.
        Parameters:
        addresses - list of ignored addresses.
      • setRemoteRevision

        public void setRemoteRevision​(byte minor)
        Description copied from interface: Transport
        Set remote transport protocol revision.
        Specified by:
        setRemoteRevision in interface Transport
        Parameters:
        minor - protocol revision.
      • ensureBuffer

        public void ensureBuffer​(int size)
        Specified by:
        ensureBuffer in interface org.epics.pvdata.pv.SerializableControl
      • alignBuffer

        public void alignBuffer​(int alignment)
        Specified by:
        alignBuffer in interface org.epics.pvdata.pv.SerializableControl
      • flushSerializeBuffer

        public void flushSerializeBuffer()
        Specified by:
        flushSerializeBuffer in interface org.epics.pvdata.pv.SerializableControl
      • ensureData

        public void ensureData​(int size)
        Specified by:
        ensureData in interface org.epics.pvdata.pv.DeserializableControl
      • cachedSerialize

        public void cachedSerialize​(org.epics.pvdata.pv.Field field,
                                    ByteBuffer buffer)
        Specified by:
        cachedSerialize in interface org.epics.pvdata.pv.SerializableControl
      • cachedDeserialize

        public org.epics.pvdata.pv.Field cachedDeserialize​(ByteBuffer buffer)
        Specified by:
        cachedDeserialize in interface org.epics.pvdata.pv.DeserializableControl
      • alignData

        public void alignData​(int alignment)
        Specified by:
        alignData in interface org.epics.pvdata.pv.DeserializableControl
      • setByteOrder

        public void setByteOrder​(ByteOrder byteOrder)
        Description copied from interface: Transport
        Set byte order.
        Specified by:
        setByteOrder in interface Transport
        Parameters:
        byteOrder - byte order to set.
      • verify

        public boolean verify​(long timeoutMs)
        Description copied from interface: Transport
        Waits (if needed) until transport is verified, i.e. verified() method is being called.
        Specified by:
        verify in interface Transport
        Parameters:
        timeoutMs - timeout to wait for verification, infinite if 0.
        Returns:
        completion status.
      • verified

        public void verified​(org.epics.pvdata.pv.Status status)
        Description copied from interface: Transport
        Acknowledge that transport was verified.
        Specified by:
        verified in interface Transport
        Parameters:
        status - verification status.
      • aliveNotification

        public void aliveNotification()
        Description copied from interface: Transport
        Alive notification. This method needs to be called (by newly received data or beacon) at least once in this period, if not echo will be issued and if there is not response to it, transport will be considered as unresponsive.
        Specified by:
        aliveNotification in interface Transport
      • authNZMessage

        public void authNZMessage​(org.epics.pvdata.pv.PVField data)
        Description copied from interface: Transport
        Pass data to the active security plug-in session.
        Specified by:
        authNZMessage in interface Transport
        Parameters:
        data - the data (any data), can be null.
      • authNZInitialize

        public void authNZInitialize​(Object data)
        Description copied from interface: Transport
        Used to initialize authNZ (select security plug-in).
        Specified by:
        authNZInitialize in interface Transport
        Parameters:
        data - any data.