Package org.firebirdsql.gds.ng.wire
Interface FbWireAsynchronousChannel
-
- All Known Implementing Classes:
V10AsynchronousChannel
public interface FbWireAsynchronousChannelInterface for the asynchronous channel used for event notification.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddChannelListener(AsynchronousChannelListener listener)Register a listener for this channel.voidcancelEvent(EventHandle eventHandle)Cancels a registered event.voidclose()Disconnect the asynchronous channel.voidconnect(java.lang.String hostName, int portNumber, int auxHandle)Connects the asynchronous channel to the specified port.java.nio.ByteBuffergetEventBuffer()java.nio.channels.SocketChannelgetSocketChannel()booleanisConnected()voidprocessEventData()Process the current event data in the buffer.voidqueueEvent(EventHandle eventHandle)Queues a wait for an event.voidremoveChannelListener(AsynchronousChannelListener listener)Remove a listener from this channel
-
-
-
Method Detail
-
connect
void connect(java.lang.String hostName, int portNumber, int auxHandle) throws java.sql.SQLExceptionConnects the asynchronous channel to the specified port.- Parameters:
hostName- HostnameportNumber- The port numberauxHandle- 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.SQLExceptionDisconnect the asynchronous channel.Once closed, the connection can be reestablished using
connect(String, int, int).Calling
closeon 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:
trueif connected, otherwisefalse
-
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
-
-