Package com.rabbitmq.client.impl.nio
Class SocketChannelFrameHandlerState
- java.lang.Object
-
- com.rabbitmq.client.impl.nio.SocketChannelFrameHandlerState
-
public class SocketChannelFrameHandlerState extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.channels.SocketChannelchannel(package private) java.nio.ByteBuffercipherIninbound data (ciphered if TLS is on)(package private) java.nio.ByteBuffercipherOutoutbound net data (ciphered if TLS is on)private AMQConnectionconnection(package private) FrameBuilderframeBuilderprivate longlastActivityshould be used only in the NIO read threadprivate static org.slf4j.LoggerLOGGER(package private) java.io.DataOutputStreamoutputStream(package private) java.nio.ByteBufferplainIninbound app data (deciphered if TLS is on)(package private) java.nio.ByteBufferplainOutoutbound app data (to be crypted if TLS is on)private SelectorHolderreadSelectorStateprivate static intSOCKET_CLOSING_TIMEOUTTime to linger before closing the socket forcefully.(package private) booleanssl(package private) javax.net.ssl.SSLEnginesslEngineprivate NioQueuewriteQueueprivate SelectorHolderwriteSelectorState
-
Constructor Summary
Constructors Constructor Description SocketChannelFrameHandlerState(java.nio.channels.SocketChannel channel, NioLoopContext nioLoopsState, NioParams nioParams, javax.net.ssl.SSLEngine sslEngine, int maxFramePayloadSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidclose()(package private) booleancontinueReading()(package private) voidendWriteSequence()java.nio.channels.SocketChannelgetChannel()AMQConnectiongetConnection()longgetLastActivity()NioQueuegetWriteQueue()(package private) voidprepareForReadSequence()(package private) voidprepareForWriteSequence()voidsendHeader()private voidsendWriteRequest(WriteRequest writeRequest)voidsetConnection(AMQConnection connection)voidsetLastActivity(long lastActivity)voidstartReading()voidwrite(Frame frame)
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
SOCKET_CLOSING_TIMEOUT
private static final int SOCKET_CLOSING_TIMEOUT
Time to linger before closing the socket forcefully.- See Also:
- Constant Field Values
-
channel
private final java.nio.channels.SocketChannel channel
-
writeQueue
private final NioQueue writeQueue
-
connection
private volatile AMQConnection connection
-
lastActivity
private long lastActivity
should be used only in the NIO read thread
-
writeSelectorState
private final SelectorHolder writeSelectorState
-
readSelectorState
private final SelectorHolder readSelectorState
-
ssl
final boolean ssl
-
sslEngine
final javax.net.ssl.SSLEngine sslEngine
-
plainOut
final java.nio.ByteBuffer plainOut
outbound app data (to be crypted if TLS is on)
-
plainIn
final java.nio.ByteBuffer plainIn
inbound app data (deciphered if TLS is on)
-
cipherOut
final java.nio.ByteBuffer cipherOut
outbound net data (ciphered if TLS is on)
-
cipherIn
final java.nio.ByteBuffer cipherIn
inbound data (ciphered if TLS is on)
-
outputStream
final java.io.DataOutputStream outputStream
-
frameBuilder
final FrameBuilder frameBuilder
-
-
Constructor Detail
-
SocketChannelFrameHandlerState
public SocketChannelFrameHandlerState(java.nio.channels.SocketChannel channel, NioLoopContext nioLoopsState, NioParams nioParams, javax.net.ssl.SSLEngine sslEngine, int maxFramePayloadSize)
-
-
Method Detail
-
getChannel
public java.nio.channels.SocketChannel getChannel()
-
getWriteQueue
public NioQueue getWriteQueue()
-
sendHeader
public void sendHeader() throws java.io.IOException- Throws:
java.io.IOException
-
write
public void write(Frame frame) throws java.io.IOException
- Throws:
java.io.IOException
-
sendWriteRequest
private void sendWriteRequest(WriteRequest writeRequest) throws java.io.IOException
- Throws:
java.io.IOException
-
startReading
public void startReading()
-
getConnection
public AMQConnection getConnection()
-
setConnection
public void setConnection(AMQConnection connection)
-
setLastActivity
public void setLastActivity(long lastActivity)
-
getLastActivity
public long getLastActivity()
-
prepareForWriteSequence
void prepareForWriteSequence()
-
endWriteSequence
void endWriteSequence()
-
prepareForReadSequence
void prepareForReadSequence() throws java.io.IOException- Throws:
java.io.IOException
-
continueReading
boolean continueReading() throws java.io.IOException- Throws:
java.io.IOException
-
close
void close() throws java.io.IOException- Throws:
java.io.IOException
-
-