|
Spring Integration | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.integration.ip.tcp.AbstractSocketWriter org.springframework.integration.ip.tcp.NioSocketWriter
public class NioSocketWriter
A SocketWriter
that writes to a SocketChannel
. The
data is wrapped in a wire protocol based on the messageFormat property.
Field Summary | |
---|---|
protected int |
bufferCount
|
protected BlockingQueue<ByteBuffer> |
buffers
If we are using direct buffers, we don't want to churn them using normal heap management. |
protected SocketChannel |
channel
|
protected ByteBuffer |
crLfPart
A buffer containing the CRLF for when the messageFormat is MessageFormats.FORMAT_CRLF . |
protected ByteBuffer |
etxPart
A buffer containing the ETX for when the messageFormat is MessageFormats.FORMAT_STX_ETX . |
protected ByteBuffer |
lengthPart
A buffer containing the length part when the messageFormat is MessageFormats.FORMAT_LENGTH_HEADER . |
protected int |
maxBuffers
|
protected ByteBuffer |
stxPart
A buffer containing the STX for when the messageFormat is MessageFormats.FORMAT_STX_ETX . |
protected boolean |
usingDirectBuffers
If true, direct buffers are used. |
Fields inherited from class org.springframework.integration.ip.tcp.AbstractSocketWriter |
---|
logger, messageFormat |
Fields inherited from interface org.springframework.integration.ip.tcp.MessageFormats |
---|
ETX, FORMAT_CRLF, FORMAT_CUSTOM, FORMAT_IMPLICIT, FORMAT_JAVA_SERIALIZED, FORMAT_LENGTH_HEADER, FORMAT_STX_ETX, STX |
Constructor Summary | |
---|---|
NioSocketWriter(SocketChannel channel,
int maxBuffers,
int sendBufferSize)
|
Method Summary | |
---|---|
protected void |
doClose()
Called when an IO error |
protected ByteBuffer |
getBuffer()
|
protected void |
returnBuffer(ByteBuffer buffer)
|
void |
setUsingDirectBuffers(boolean usingDirectBuffers)
|
protected void |
writeCrLfFormat(byte[] bytes)
Write the data, followed by carriage return, line feed ('\r\n'). |
protected void |
writeCustomFormat(Object object)
Write the data using some custom protocol. |
protected void |
writeLengthFormat(byte[] bytes)
Write the length of the data in a 4 byte integer (in network byte order) before the data itself. |
protected void |
writeSerializedFormat(Object object)
Write the data, followed by carriage return, line feed ('\r\n'). |
protected void |
writeStxEtxFormat(byte[] bytes)
Write an STX (0x02) followed by the data, followed by ETX (0x03). |
Methods inherited from class org.springframework.integration.ip.tcp.AbstractSocketWriter |
---|
setMessageFormat, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected SocketChannel channel
protected boolean usingDirectBuffers
for more information
protected ByteBuffer lengthPart
MessageFormats.FORMAT_LENGTH_HEADER
.
protected ByteBuffer stxPart
MessageFormats.FORMAT_STX_ETX
.
protected ByteBuffer etxPart
MessageFormats.FORMAT_STX_ETX
.
protected ByteBuffer crLfPart
MessageFormats.FORMAT_CRLF
.
protected BlockingQueue<ByteBuffer> buffers
protected int maxBuffers
protected int bufferCount
Constructor Detail |
---|
public NioSocketWriter(SocketChannel channel, int maxBuffers, int sendBufferSize)
Method Detail |
---|
public void setUsingDirectBuffers(boolean usingDirectBuffers)
usingDirectBuffers
- whether direct buffers are to be usedprotected ByteBuffer getBuffer() throws InterruptedException
InterruptedException
protected void returnBuffer(ByteBuffer buffer)
protected void writeCrLfFormat(byte[] bytes) throws IOException
AbstractSocketWriter
writeCrLfFormat
in class AbstractSocketWriter
IOException
protected void writeSerializedFormat(Object object) throws IOException
AbstractSocketWriter
writeSerializedFormat
in class AbstractSocketWriter
IOException
protected void writeCustomFormat(Object object) throws IOException
AbstractSocketWriter
writeCustomFormat
in class AbstractSocketWriter
IOException
protected void writeLengthFormat(byte[] bytes) throws IOException
AbstractSocketWriter
writeLengthFormat
in class AbstractSocketWriter
bytes
- The bytes to write.
IOException
protected void writeStxEtxFormat(byte[] bytes) throws IOException
AbstractSocketWriter
writeStxEtxFormat
in class AbstractSocketWriter
bytes
- The bytes to write.
IOException
protected void doClose()
AbstractSocketWriter
doClose
in class AbstractSocketWriter
|
Spring Integration | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |