Class V10AsynchronousChannel
- java.lang.Object
-
- org.firebirdsql.gds.ng.wire.version10.V10AsynchronousChannel
-
- All Implemented Interfaces:
FbWireAsynchronousChannel
public class V10AsynchronousChannel extends java.lang.Object implements FbWireAsynchronousChannel
Asynchronous channel implementation for the V10 wire protocol.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Constructor Summary
Constructors Constructor Description V10AsynchronousChannel(FbWireDatabase database)
-
Method Summary
All Methods Instance Methods Concrete 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.protected voidfinalize()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
-
-
-
Constructor Detail
-
V10AsynchronousChannel
public V10AsynchronousChannel(FbWireDatabase database)
-
-
Method Detail
-
connect
public void connect(java.lang.String hostName, int portNumber, int auxHandle) throws java.sql.SQLExceptionDescription copied from interface:FbWireAsynchronousChannelConnects the asynchronous channel to the specified port.- Specified by:
connectin interfaceFbWireAsynchronousChannel- 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
public void close() throws java.sql.SQLExceptionDescription copied from interface:FbWireAsynchronousChannelDisconnect the asynchronous channel.Once closed, the connection can be reestablished using
FbWireAsynchronousChannel.connect(String, int, int).Calling
closeon a closed channel is a no-op; no exception should be thrown.- Specified by:
closein interfaceFbWireAsynchronousChannel- Throws:
java.sql.SQLException- For errors closing the channel
-
isConnected
public boolean isConnected()
- Specified by:
isConnectedin interfaceFbWireAsynchronousChannel- Returns:
trueif connected, otherwisefalse
-
addChannelListener
public void addChannelListener(AsynchronousChannelListener listener)
Description copied from interface:FbWireAsynchronousChannelRegister a listener for this channel.- Specified by:
addChannelListenerin interfaceFbWireAsynchronousChannel- Parameters:
listener- Listener
-
removeChannelListener
public void removeChannelListener(AsynchronousChannelListener listener)
Description copied from interface:FbWireAsynchronousChannelRemove a listener from this channel- Specified by:
removeChannelListenerin interfaceFbWireAsynchronousChannel- Parameters:
listener- Listener
-
getSocketChannel
public java.nio.channels.SocketChannel getSocketChannel() throws java.sql.SQLException- Specified by:
getSocketChannelin interfaceFbWireAsynchronousChannel- Returns:
- The socket channel associated with this asynchronous channel
- Throws:
java.sql.SQLException- If not currently connected
-
getEventBuffer
public java.nio.ByteBuffer getEventBuffer()
- Specified by:
getEventBufferin interfaceFbWireAsynchronousChannel- Returns:
- The byte buffer for event data
-
processEventData
public void processEventData()
Description copied from interface:FbWireAsynchronousChannelProcess 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).- Specified by:
processEventDatain interfaceFbWireAsynchronousChannel
-
queueEvent
public void queueEvent(EventHandle eventHandle) throws java.sql.SQLException
Description copied from interface:FbWireAsynchronousChannelQueues a wait for an event.- Specified by:
queueEventin interfaceFbWireAsynchronousChannel- Parameters:
eventHandle- Event handle- Throws:
java.sql.SQLException
-
cancelEvent
public void cancelEvent(EventHandle eventHandle) throws java.sql.SQLException
Description copied from interface:FbWireAsynchronousChannelCancels a registered event.- Specified by:
cancelEventin interfaceFbWireAsynchronousChannel- Parameters:
eventHandle- The event handle to cancel- Throws:
java.sql.SQLException- For errors cancelling the event
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
-