Interface FbWireAsynchronousChannel

  • All Known Implementing Classes:
    V10AsynchronousChannel

    public interface FbWireAsynchronousChannel
    Interface for the asynchronous channel used for event notification.
    Since:
    3.0
    Author:
    Mark Rotteveel
    • Method Detail

      • connect

        void connect​(java.lang.String hostName,
                     int portNumber,
                     int auxHandle)
              throws java.sql.SQLException
        Connects the asynchronous channel to the specified port.
        Parameters:
        hostName - Hostname
        portNumber - The port number
        auxHandle - Handle identifier for this asynchronous channel
        Throws:
        java.sql.SQLException - For errors connecting, or if the connection is already established
      • close

        void close()
            throws java.sql.SQLException
        Disconnect the asynchronous channel.

        Once closed, the connection can be reestablished using connect(String, int, int).

        Calling close on a closed channel is a no-op; no exception should be thrown.

        Throws:
        java.sql.SQLException - For errors closing the channel
      • isConnected

        boolean isConnected()
        Returns:
        true if connected, otherwise false
      • addChannelListener

        void addChannelListener​(AsynchronousChannelListener listener)
        Register a listener for this channel.
        Parameters:
        listener - Listener
      • removeChannelListener

        void removeChannelListener​(AsynchronousChannelListener listener)
        Remove a listener from this channel
        Parameters:
        listener - Listener
      • getSocketChannel

        java.nio.channels.SocketChannel getSocketChannel()
                                                  throws java.sql.SQLException
        Returns:
        The socket channel associated with this asynchronous channel
        Throws:
        java.sql.SQLException - If not currently connected
      • getEventBuffer

        java.nio.ByteBuffer getEventBuffer()
        Returns:
        The byte buffer for event data
      • processEventData

        void processEventData()
        Process the current event data in the buffer.

        This is only to be called by the AsynchronousProcessor. Implementations should be ready to deal with incomplete data in the event buffer (eg by not processing).

      • queueEvent

        void queueEvent​(EventHandle eventHandle)
                 throws java.sql.SQLException
        Queues a wait for an event.
        Parameters:
        eventHandle - Event handle
        Throws:
        java.sql.SQLException
      • cancelEvent

        void cancelEvent​(EventHandle eventHandle)
                  throws java.sql.SQLException
        Cancels a registered event.
        Parameters:
        eventHandle - The event handle to cancel
        Throws:
        java.sql.SQLException - For errors cancelling the event