com.liferay.portal.kernel.nio.intraband
Class Datagram
java.lang.Object
com.liferay.portal.kernel.nio.intraband.Datagram
public class Datagram
- extends java.lang.Object
Represents the communication unit of Intraband.
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 |
- Author:
- Shuyang Zhou
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
attachment
protected java.lang.Object attachment
completionHandler
protected CompletionHandler<java.lang.Object> completionHandler
completionTypes
protected java.util.EnumSet<CompletionHandler.CompletionType> completionTypes
expireTime
protected long expireTime
timeout
protected long timeout
createRequestDatagram
public static Datagram createRequestDatagram(byte type,
byte[] data)
createRequestDatagram
public static Datagram createRequestDatagram(byte type,
java.nio.ByteBuffer dataByteBuffer)
createResponseDatagram
public static Datagram createResponseDatagram(Datagram requestDatagram,
byte[] data)
createResponseDatagram
public static Datagram createResponseDatagram(Datagram requestDatagram,
java.nio.ByteBuffer byteBuffer)
getDataByteBuffer
public java.nio.ByteBuffer getDataByteBuffer()
getType
public byte getType()
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
createACKResponseDatagram
protected static Datagram createACKResponseDatagram(long sequenceId)
createReceiveDatagram
protected static Datagram createReceiveDatagram()
getSequenceId
protected long getSequenceId()
isAckRequest
protected boolean isAckRequest()
isAckResponse
protected boolean isAckResponse()
isRequest
protected boolean isRequest()
isResponse
protected boolean isResponse()
readFrom
protected boolean readFrom(java.nio.channels.ScatteringByteChannel scatteringByteChannel)
throws java.io.IOException
- Throws:
java.io.IOException
setAckRequest
protected void setAckRequest(boolean ackRequest)
setSequenceId
protected void setSequenceId(long sequenceId)
writeTo
protected boolean writeTo(java.nio.channels.GatheringByteChannel gatheringByteChannel)
throws java.io.IOException
- Throws:
java.io.IOException