public class Datagram
extends java.lang.Object
Encodes/decodes data to/from big-endian byte order data format:
| Name | Type | Size(byte) | Offset |
| Status Flag | byte | 1 | 0 |
| Sequence ID | long | 8 | 1 |
| Data Type | byte | 1 | 9 |
| Data Size | int | 4 | 10 |
| Data Chunk | byte[] |
${Data Size}
| 14 |
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Object |
attachment |
protected CompletionHandler<java.lang.Object> |
completionHandler |
protected java.util.EnumSet<CompletionHandler.CompletionType> |
completionTypes |
protected long |
expireTime |
protected long |
timeout |
| Modifier and Type | Method and Description |
|---|---|
protected static Datagram |
createACKResponseDatagram(long sequenceId) |
protected static Datagram |
createReceiveDatagram() |
static Datagram |
createRequestDatagram(byte type,
byte[] data) |
static Datagram |
createRequestDatagram(byte type,
java.nio.ByteBuffer dataByteBuffer) |
static Datagram |
createResponseDatagram(Datagram requestDatagram,
byte[] data) |
static Datagram |
createResponseDatagram(Datagram requestDatagram,
java.nio.ByteBuffer byteBuffer) |
java.nio.ByteBuffer |
getDataByteBuffer() |
protected long |
getSequenceId() |
byte |
getType() |
protected boolean |
isAckRequest() |
protected boolean |
isAckResponse() |
protected boolean |
isRequest() |
protected boolean |
isResponse() |
protected boolean |
readFrom(java.nio.channels.ScatteringByteChannel scatteringByteChannel) |
protected void |
setAckRequest(boolean ackRequest) |
protected void |
setSequenceId(long sequenceId) |
java.lang.String |
toString() |
protected boolean |
writeTo(java.nio.channels.GatheringByteChannel gatheringByteChannel) |
protected java.lang.Object attachment
protected CompletionHandler<java.lang.Object> completionHandler
protected java.util.EnumSet<CompletionHandler.CompletionType> completionTypes
protected long expireTime
protected long timeout
public static Datagram createRequestDatagram(byte type, byte[] data)
public static Datagram createRequestDatagram(byte type, java.nio.ByteBuffer dataByteBuffer)
public static Datagram createResponseDatagram(Datagram requestDatagram, byte[] data)
public static Datagram createResponseDatagram(Datagram requestDatagram, java.nio.ByteBuffer byteBuffer)
public java.nio.ByteBuffer getDataByteBuffer()
public byte getType()
public java.lang.String toString()
toString in class java.lang.Objectprotected static Datagram createACKResponseDatagram(long sequenceId)
protected static Datagram createReceiveDatagram()
protected long getSequenceId()
protected boolean isAckRequest()
protected boolean isAckResponse()
protected boolean isRequest()
protected boolean isResponse()
protected boolean readFrom(java.nio.channels.ScatteringByteChannel scatteringByteChannel)
throws java.io.IOException
java.io.IOExceptionprotected void setAckRequest(boolean ackRequest)
protected void setSequenceId(long sequenceId)
protected boolean writeTo(java.nio.channels.GatheringByteChannel gatheringByteChannel)
throws java.io.IOException
java.io.IOException