Class TCPNIOConnection
- java.lang.Object
-
- org.glassfish.grizzly.nio.NIOConnection
-
- org.glassfish.grizzly.nio.transport.TCPNIOConnection
-
- All Implemented Interfaces:
AttributeStorage,Closeable,Connection<SocketAddress>,MonitoringAware<ConnectionProbe>,OutputSink,Readable<SocketAddress>,Writeable<SocketAddress>
- Direct Known Subclasses:
TCPNIOServerConnection
public class TCPNIOConnection extends NIOConnection
Connectionimplementation for theTCPNIOTransport- Author:
- Alexey Stashok
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceTCPNIOConnection.ConnectResultHandlerThis interface implementations can be used to be notified about the TCPNIOConnection connect state.-
Nested classes/interfaces inherited from interface org.glassfish.grizzly.Connection
Connection.CloseListener, Connection.CloseType
-
-
Field Summary
-
Fields inherited from class org.glassfish.grizzly.nio.NIOConnection
attributes, channel, connectCloseSemaphoreUpdater, isBlocking, isStandalone, maxAsyncWriteQueueSize, monitoringConfig, NOTIFICATION_CLOSED_COMPLETE, NOTIFICATION_INITIALIZED, processor, processorSelector, readTimeoutMillis, selectionKey, selectorRunner, transport, writeTimeoutMillis, zeroByteReadCount
-
-
Constructor Summary
Constructors Constructor Description TCPNIOConnection(TCPNIOTransport transport, SelectableChannel channel)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleancanWrite()booleancanWrite(int length)Deprecated.protected voidcheckConnectFailed(Throwable failure)Method will be called in order to check if failure happened beforeConnectionwas reported as connected.protected voidenableInitialOpRead()Enables OP_READ if it has never been enabled before.SocketAddressgetLocalAddress()Returns the local address of this Connection, or null if it is unconnected.SocketAddressgetPeerAddress()Returns the address of the endpoint this Connection is connected to, or null if it is unconnected.intgetReadBufferSize()Get the default size ofBuffers, which will be allocated for reading data fromConnection.intgetWriteBufferSize()Get the default size ofBuffers, which will be allocated for writing data toConnection.voidnotifyCanWrite(WriteHandler writeHandler)Instructs theOutputSinkto invoke the providedWriteHandlerwhen it is possible to write more bytes (or characters).voidnotifyCanWrite(WriteHandler handler, int length)Deprecated.protected booleannotifyReady()protected voidonConnect()Method will be called, when the connection gets connected.protected voidonRead(Buffer data, int size)Method will be called, when some data was read on the connectionprotected voidonWrite(Buffer data, long size)Method will be called, when some data was written on the connectionprotected voidpreClose()protected voidresetProperties()protected voidsetConnectResultHandler(TCPNIOConnection.ConnectResultHandler connectHandler)voidsetReadBufferSize(int readBufferSize)Set the default size ofBuffers, which will be allocated for reading data fromConnection.protected voidsetSelectionKey(SelectionKey selectionKey)protected voidsetSelectorRunner(SelectorRunner selectorRunner)voidsetWriteBufferSize(int writeBufferSize)Set the default size ofBuffers, which will be allocated for writing data toConnection.protected voidterminate0(CompletionHandler<Closeable> completionHandler, CloseReason closeReason)StringtoString()-
Methods inherited from class org.glassfish.grizzly.nio.NIOConnection
addCloseListener, addCloseListener, assertOpen, attachToSelectorRunner, checkEmptyRead, close, close, closeFuture, closeGracefully0, closeSilently, closeWithReason, configureBlocking, configureStandalone, detachSelectorRunner, disableIOEvent, doClose, enableIOEvent, executeInEventThread, getAsyncReadQueue, getAsyncWriteQueue, getAttributes, getChannel, getCloseReason, getId, getMaxAsyncWriteQueueSize, getMemoryManager, getMonitoringConfig, getProcessor, getProcessorSelector, getReadTimeout, getSelectionKey, getSelectorRunner, getTransport, getWriteTimeout, isBlocking, isClosed, isOpen, isStandalone, notifyConnectionError, notifyIOEventDisabled, notifyIOEventEnabled, notifyIOEventReady, notifyProbesAccept, notifyProbesBind, notifyProbesClose, notifyProbesConnect, notifyProbesError, notifyProbesRead, notifyProbesWrite, obtainProcessor, obtainProcessorState, read, read, removeCloseListener, removeCloseListener, setChannel, setMaxAsyncWriteQueueSize, setProcessor, setProcessorSelector, setReadTimeout, setWriteTimeout, simulateIOEvent, terminate, terminateSilently, terminateWithReason, write, write, write, write, write
-
-
-
-
Constructor Detail
-
TCPNIOConnection
public TCPNIOConnection(TCPNIOTransport transport, SelectableChannel channel)
-
-
Method Detail
-
setSelectionKey
protected void setSelectionKey(SelectionKey selectionKey)
- Overrides:
setSelectionKeyin classNIOConnection
-
setSelectorRunner
protected void setSelectorRunner(SelectorRunner selectorRunner)
- Overrides:
setSelectorRunnerin classNIOConnection
-
preClose
protected void preClose()
- Overrides:
preClosein classNIOConnection
-
notifyReady
protected boolean notifyReady()
-
getPeerAddress
public SocketAddress getPeerAddress()
Returns the address of the endpoint this Connection is connected to, or null if it is unconnected.- Returns:
- the address of the endpoint this Connection is connected to, or null if it is unconnected.
-
getLocalAddress
public SocketAddress getLocalAddress()
Returns the local address of this Connection, or null if it is unconnected.- Returns:
- the local address of this Connection, or null if it is unconnected.
-
resetProperties
protected void resetProperties()
-
getReadBufferSize
public int getReadBufferSize()
Get the default size ofBuffers, which will be allocated for reading data fromConnection. The value less or equal to zero will be ignored.- Returns:
- the default size of
Buffers, which will be allocated for reading data fromConnection.
-
setReadBufferSize
public void setReadBufferSize(int readBufferSize)
Set the default size ofBuffers, which will be allocated for reading data fromConnection. The value less or equal to zero will be ignored.- Parameters:
readBufferSize- the default size ofBuffers, which will be allocated for reading data fromConnection.
-
getWriteBufferSize
public int getWriteBufferSize()
Get the default size ofBuffers, which will be allocated for writing data toConnection.- Returns:
- the default size of
Buffers, which will be allocated for writing data toConnection.
-
setWriteBufferSize
public void setWriteBufferSize(int writeBufferSize)
Set the default size ofBuffers, which will be allocated for writing data toConnection.- Parameters:
writeBufferSize- the default size ofBuffers, which will be allocated for writing data toConnection.
-
setConnectResultHandler
protected final void setConnectResultHandler(TCPNIOConnection.ConnectResultHandler connectHandler)
-
onConnect
protected final void onConnect() throws IOExceptionMethod will be called, when the connection gets connected.- Throws:
IOException
-
checkConnectFailed
protected final void checkConnectFailed(Throwable failure)
Method will be called in order to check if failure happened beforeConnectionwas reported as connected.
-
terminate0
protected void terminate0(CompletionHandler<Closeable> completionHandler, CloseReason closeReason)
- Overrides:
terminate0in classNIOConnection
-
onRead
protected final void onRead(Buffer data, int size)
Method will be called, when some data was read on the connection
-
enableInitialOpRead
protected void enableInitialOpRead() throws IOExceptionDescription copied from class:NIOConnectionEnables OP_READ if it has never been enabled before.- Overrides:
enableInitialOpReadin classNIOConnection- Throws:
IOException
-
onWrite
protected final void onWrite(Buffer data, long size)
Method will be called, when some data was written on the connection
-
canWrite
public boolean canWrite()
- Returns:
trueif a write to thisOutputSinkwill succeed, otherwise returnsfalse.
-
canWrite
@Deprecated public boolean canWrite(int length)
Deprecated.- Parameters:
length- specifies the number of bytes (or characters) that require writing- Returns:
trueif a write to thisOutputSinkwill succeed, otherwise returnsfalse.
-
notifyCanWrite
public void notifyCanWrite(WriteHandler writeHandler)
Instructs theOutputSinkto invoke the providedWriteHandlerwhen it is possible to write more bytes (or characters). Note that once theWriteHandlerhas been notified, it will not be considered for notification again at a later point in time.- Parameters:
writeHandler- theWriteHandlerthat should be notified when it's possible to write more data.
-
notifyCanWrite
@Deprecated public void notifyCanWrite(WriteHandler handler, int length)
Deprecated.Instructs theOutputSinkto invoke the providedWriteHandlerwhen it is possible to writelengthbytes (or characters). Note that once theWriteHandlerhas been notified, it will not be considered for notification again at a later point in time.- Parameters:
handler- theWriteHandlerthat should be notified when it's possible to writelengthbytes.length- the number of bytes or characters that require writing.
-
-