Class BlockingTCPTransport

    • Field Detail

      • context

        protected final Context context
        Context instance.
      • priority

        protected final short priority
        Priority. NOTE: Priority cannot just be changed, since it is registered in transport registry with given priority.
      • responseHandler

        protected final ResponseHandler responseHandler
        PVAS response handler.
      • incomingIR

        protected final IntrospectionRegistry incomingIR
        Incoming (codes generated by other party) introspection registry.
      • outgoingIR

        protected final IntrospectionRegistry outgoingIR
        Outgoing (codes generated by this party) introspection registry.
      • remoteTransportRevision

        protected byte remoteTransportRevision
        Remote side transport revision (minor).
      • verifiedCalled

        protected boolean verifiedCalled
      • verified

        protected boolean verified
    • Constructor Detail

      • BlockingTCPTransport

        public BlockingTCPTransport​(Context context,
                                    SocketChannel channel,
                                    ResponseHandler responseHandler,
                                    int receiveBufferSize,
                                    short priority)
                             throws SocketException
        TCP transport constructor.
        Parameters:
        context - context where transport lives in.
        channel - used socket channel.
        responseHandler - response handler used to process PVA headers.
        receiveBufferSize - receive buffer size.
        priority - transport priority.
        Throws:
        SocketException - thrown on any socket exception.
    • Method Detail

      • internalClose

        protected void internalClose()
        Called to any resources just before closing transport
      • getType

        public String getType()
        Description copied from interface: Transport
        Get protocol type (tcp, udp, ssl, etc.).
        Specified by:
        getType in interface Transport
        Returns:
        protocol type.
      • getContext

        public Context getContext()
        Description copied from interface: Transport
        Get context transport is living in.
        Specified by:
        getContext in interface Transport
        Returns:
        context transport is living in.
      • getRevision

        public byte getRevision()
        Description copied from interface: Transport
        Transport protocol revision.
        Specified by:
        getRevision in interface Transport
        Returns:
        protocol revision.
      • getReceiveBufferSize

        public int getReceiveBufferSize()
        Description copied from interface: Transport
        Get receive buffer size.
        Specified by:
        getReceiveBufferSize in interface Transport
        Returns:
        receive buffer size.
      • getSocketReceiveBufferSize

        public int getSocketReceiveBufferSize()
        Description copied from interface: Transport
        Get socket receive buffer size.
        Specified by:
        getSocketReceiveBufferSize in interface Transport
        Returns:
        socket receive buffer size.
      • getPriority

        public short getPriority()
        Description copied from interface: Transport
        Transport priority.
        Specified by:
        getPriority in interface Transport
        Returns:
        protocol priority.
      • 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.
      • setRemoteTransportReceiveBufferSize

        public void setRemoteTransportReceiveBufferSize​(int receiveBufferSize)
        Description copied from interface: Transport
        Set remote transport receive buffer size.
        Specified by:
        setRemoteTransportReceiveBufferSize in interface Transport
        Parameters:
        receiveBufferSize - receive buffer size.
      • setRemoteTransportSocketReceiveBufferSize

        public void setRemoteTransportSocketReceiveBufferSize​(int socketReceiveBufferSize)
        Description copied from interface: Transport
        Set remote transport socket receive buffer size.
        Specified by:
        setRemoteTransportSocketReceiveBufferSize in interface Transport
        Parameters:
        socketReceiveBufferSize - remote socket receive buffer size.
      • changedTransport

        public void changedTransport()
        Description copied from interface: Transport
        Notification that transport has changed (server restarted).
        Specified by:
        changedTransport in interface Transport
      • cachedDeserialize

        public org.epics.pvdata.pv.Field cachedDeserialize​(ByteBuffer buffer)
        Specified by:
        cachedDeserialize 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
      • 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.
      • 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.