|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.integration.ip.tcp.serializer.AbstractByteArraySerializer
org.springframework.integration.ip.tcp.serializer.ByteArrayLengthHeaderSerializer
public class ByteArrayLengthHeaderSerializer
Reads data in an InputStream to a byte[]; data must be preceded by
a binary length (network byte order, not included in resulting byte[]).
Writes a byte[] to an OutputStream after a binary length.
The length field contains the length of data following the length
field. (network byte order).
The default length field is a 4 byte signed integer. During deserialization,
negative values will be rejected.
Other options are an unsigned byte, and unsigned short.
For other header formats, override readHeader(InputStream) and
writeHeader(OutputStream, int).
| Field Summary | |
|---|---|
static int |
HEADER_SIZE_INT
Default length-header field, allows for data up to 2**31-1 bytes. |
static int |
HEADER_SIZE_UNSIGNED_BYTE
A single unsigned byte, for data up to 255 bytes. |
static int |
HEADER_SIZE_UNSIGNED_SHORT
An unsigned short, for data up to 2**16 bytes. |
| Fields inherited from class org.springframework.integration.ip.tcp.serializer.AbstractByteArraySerializer |
|---|
maxMessageSize |
| Constructor Summary | |
|---|---|
ByteArrayLengthHeaderSerializer()
Constructs the serializer using HEADER_SIZE_INT |
|
ByteArrayLengthHeaderSerializer(int headerSize)
Constructs the serializer using the supplied header size. |
|
| Method Summary | |
|---|---|
byte[] |
deserialize(java.io.InputStream inputStream)
Reads the header from the stream and then reads the provided length from the stream and returns the data in a byte[]. |
protected int |
read(java.io.InputStream inputStream,
byte[] buffer,
boolean header)
Reads data from the socket and puts the data in buffer. |
protected int |
readHeader(java.io.InputStream inputStream)
Reads the header and returns the length of the data part. |
void |
serialize(byte[] bytes,
java.io.OutputStream outputStream)
Writes the byte[] to the output stream, preceded by a 4 byte length in network byte order (big endian). |
protected void |
writeHeader(java.io.OutputStream outputStream,
int length)
Writes the header, according to the header format. |
| Methods inherited from class org.springframework.integration.ip.tcp.serializer.AbstractByteArraySerializer |
|---|
checkClosure, getMaxMessageSize, setMaxMessageSize |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int HEADER_SIZE_INT
public static final int HEADER_SIZE_UNSIGNED_BYTE
public static final int HEADER_SIZE_UNSIGNED_SHORT
| Constructor Detail |
|---|
public ByteArrayLengthHeaderSerializer()
HEADER_SIZE_INT
public ByteArrayLengthHeaderSerializer(int headerSize)
HEADER_SIZE_INT (default),
HEADER_SIZE_UNSIGNED_BYTE and HEADER_SIZE_UNSIGNED_SHORT
headerSize - | Method Detail |
|---|
public byte[] deserialize(java.io.InputStream inputStream)
throws java.io.IOException
SoftEndOfStreamException if the stream
is closed between messages.
java.io.IOException
public void serialize(byte[] bytes,
java.io.OutputStream outputStream)
throws java.io.IOException
java.io.IOException
protected int read(java.io.InputStream inputStream,
byte[] buffer,
boolean header)
throws java.io.IOException
buffer - header - true if we are reading the header
java.io.IOException
protected void writeHeader(java.io.OutputStream outputStream,
int length)
throws java.io.IOException
outputStream - length -
java.io.IOException
protected int readHeader(java.io.InputStream inputStream)
throws java.io.IOException
inputStream -
IOException, - SoftEndOfStreamException if socket closes
before any length data read.
java.io.IOException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||