|
Spring Integration | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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 informationprotected 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 used
protected ByteBuffer getBuffer()
throws InterruptedException
InterruptedExceptionprotected void returnBuffer(ByteBuffer buffer)
protected void writeCrLfFormat(byte[] bytes)
throws IOException
AbstractSocketWriter
writeCrLfFormat in class AbstractSocketWriterIOException
protected void writeSerializedFormat(Object object)
throws IOException
AbstractSocketWriter
writeSerializedFormat in class AbstractSocketWriterIOException
protected void writeCustomFormat(Object object)
throws IOException
AbstractSocketWriter
writeCustomFormat in class AbstractSocketWriterIOException
protected void writeLengthFormat(byte[] bytes)
throws IOException
AbstractSocketWriter
writeLengthFormat in class AbstractSocketWriterbytes - The bytes to write.
IOException
protected void writeStxEtxFormat(byte[] bytes)
throws IOException
AbstractSocketWriter
writeStxEtxFormat in class AbstractSocketWriterbytes - The bytes to write.
IOExceptionprotected 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 | |||||||||