public final class ChannelAccessSearchClientMessage extends ChannelAccessSearchMessage
CA_PROTO_SEARCH message that is sent from a
client to a UDP or TCP server in order to find the location of a channel.ChannelAccessCommand.CA_PROTO_SEARCHcommand, originalMessageHeader| Constructor and Description |
|---|
ChannelAccessSearchClientMessage(int cid,
ChannelAccessVersion version,
boolean doReply,
java.lang.String channelName)
Creates a new
CA_PROTO_SEARCH message that can be sent from
a client to a UDP or TCP server. |
| Modifier and Type | Method and Description |
|---|---|
protected static ChannelAccessSearchClientMessage |
deserialize(ChannelAccessMessageHeader messageHeader,
ByteSource byteSource,
boolean headerOnly,
java.nio.charset.Charset charset)
Constructs a message from a header and a byte source.
|
boolean |
equals(java.lang.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.
|
java.lang.String |
getChannelName()
Returns the channel name that the client is looking for.
|
ChannelAccessVersion |
getVersion()
Returns the Channel Access version supported by this client.
|
int |
hashCode()
Returns a hash code value for this message.
|
boolean |
isDoReply()
Returns the "do reply" flag.
|
protected void |
serialize(ByteSink byteSink,
ChannelAccessVersion version,
int maxPayloadSize,
java.nio.charset.Charset charset)
Serializes this message to a byte sink.
|
java.lang.String |
toString()
Returns a string representation of this message.
|
protected void |
verify(ChannelAccessVersion version,
int maxPayloadSize,
java.nio.charset.Charset charset)
Verifies that this message can be serialized.
|
addByteArrayToStringBuilder, calculatePaddingSize, getCommand, getOriginalMessageHeader, hasOriginalMessageHeader, serializeHeader, verifyHeaderpublic ChannelAccessSearchClientMessage(int cid,
ChannelAccessVersion version,
boolean doReply,
java.lang.String channelName)
CA_PROTO_SEARCH message that can be sent from
a client to a UDP or TCP server.cid - client-side identifier for this channel.version - Channel Access protocol version supported by the client.doReply - true if the client also wants to be informed if
the requested channel could not be resolved,
false if the client only wants to receive
messages with the channel location. This flag might be ignored
by some servers, which will have the same effect as if it were
set to false.channelName - name of the channel the client is looking for.public int getChannelCID()
public java.lang.String getChannelName()
null if this message instance
has been reconstructed without its payload (as part of the
payload of an error message).public boolean isDoReply()
true if the client wants to be informed by a server
if the channel is not known, false if it only wants
to be informed if the channel was found.public ChannelAccessVersion getVersion()
public boolean equals(java.lang.Object obj)
ChannelAccessMessageTells 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 ChannelAccessMessageobj - 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()
ChannelAccessMessageReturns 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 ChannelAccessMessagepublic java.lang.String toString()
ChannelAccessMessagetoString in class ChannelAccessMessageprotected void serialize(ByteSink byteSink, ChannelAccessVersion version, int maxPayloadSize, java.nio.charset.Charset charset)
ChannelAccessMessageChannelAccessMessageCodec.serialize in class ChannelAccessMessagebyteSink - 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).protected void verify(ChannelAccessVersion version, int maxPayloadSize, java.nio.charset.Charset charset)
ChannelAccessMessageChannelAccessMessageCodec.verify in class ChannelAccessMessageversion - 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).protected static ChannelAccessSearchClientMessage deserialize(ChannelAccessMessageHeader messageHeader, ByteSource byteSource, boolean headerOnly, java.nio.charset.Charset charset)
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).charset - encoding to use for deserializing the channel name. Usually,
channel names should consist of ASCII characters only, however
this is not strictly enforced by the protocol, so the encoding
might matter.headerOnly is
false).java.nio.BufferUnderflowException - if there is not enough data in the byte source to read the
complete payload.Copyright © 2014–2018 aquenos GmbH. All rights reserved.