public final class ChannelAccessDisconnectChannelMessage extends ChannelAccessMessage
CA_PROTO_CLEAR_CHANNEL
message. This message
is sent from a client to a server via TCP in order to indicate that a channel
that has been connected previously is not needed any longer and should be
disconnected. This means that the resources associated with this channel can
be released. Some older servers might send back the same message in order to
acknowledge the close operation, but in general no response should be
expected.ChannelAccessCommand.CA_PROTO_CLEAR_CHANNEL
command, originalMessageHeader
Constructor and Description |
---|
ChannelAccessDisconnectChannelMessage(int cid,
int sid)
Constructor for creating a
CA_PROTO_CLEAN_CHANNEL message. |
Modifier and Type | Method and Description |
---|---|
protected static ChannelAccessDisconnectChannelMessage |
deserialize(ChannelAccessMessageHeader messageHeader,
ByteSource byteSource,
boolean headerOnly)
Constructs a message from a header and a byte source.
|
boolean |
equals(Object obj)
Tells whether the specified object represents the same message.
|
int |
getChannelCID()
Returns the channel ID that is used by the client to identify the
channel.
|
int |
getChannelSID()
Returns the channel ID that is used by the server to identify the
channel.
|
int |
hashCode()
Returns a hash code value for this message.
|
protected void |
serialize(ByteSink byteSink,
ChannelAccessVersion version,
int maxPayloadSize,
Charset charset)
Serializes this message to a byte sink.
|
String |
toString()
Returns a string representation of this message.
|
addByteArrayToStringBuilder, calculatePaddingSize, getCommand, getOriginalMessageHeader, hasOriginalMessageHeader, serializeHeader, verify, verifyHeader
public ChannelAccessDisconnectChannelMessage(int cid, int sid)
CA_PROTO_CLEAN_CHANNEL
message.cid
- the channel identifier used by the client.sid
- the channel identifier used by the server.public int getChannelCID()
public int getChannelSID()
protected void serialize(ByteSink byteSink, ChannelAccessVersion version, int maxPayloadSize, Charset charset)
ChannelAccessMessage
ChannelAccessMessageCodec
.serialize
in class ChannelAccessMessage
byteSink
- byte sink that is used for writing the serialized data.version
- protocol version to stay compatible with. This is the protocol
version of the peer the message is sent to.maxPayloadSize
- maximum size of the payload.charset
- encoding to use for serializing the string data (e.g. channel
names, error strings, string data-values).public boolean equals(Object obj)
ChannelAccessMessage
Tells whether the specified object represents the same message.
Two messages are considered equal if they are of the same type and have the same headers and payload. For comparing the types, the actual Java type and not just the Channel Access command is compared.
equals
in class ChannelAccessMessage
obj
- reference object with which this object is compared.true
if obj
is a message that is of the
same type and has the same headers and payload as this message.
false
if obj
is null
or of
a different type than this message or differs in the headers or
payload.public int hashCode()
ChannelAccessMessage
Returns a hash code value for this message. This method is supported for the benefit of hash tables. The hash code is calculated as a combination of the hash codes of this messages headers (including the Channel Access command) and its payload (if present).
If two messages are equal (as indicated by the return value of
ChannelAccessMessage.equals(Object)
), they also have the same hash code. However, the
fact that two messages have the same hash code does not imply that they
are equal.
hashCode
in class ChannelAccessMessage
public String toString()
ChannelAccessMessage
toString
in class ChannelAccessMessage
protected static ChannelAccessDisconnectChannelMessage deserialize(ChannelAccessMessageHeader messageHeader, ByteSource byteSource, boolean headerOnly)
ChannelAccessMessageCodec
.messageHeader
- CA message header.byteSource
- byte source for reading the message's payload (if any).headerOnly
- if true
this method will not try to read the
payload but just read the header. This is useful for reading a
message that is sent in the payload of a
ChannelAccessErrorMessage
. Such a message will have
all headers but no payload (even so the payload size might be
non-zero).BufferUnderflowException
- if there is not enough data in the byte source to read the
complete message (including the payload).Copyright © 2014–2017 aquenos GmbH. All rights reserved.