MigratoryDataMessage
Represent a message.
Public Classes
Name | |
---|---|
enum | MessageType The message type received from MigratoryData server. |
enum | QoS The quality of service (QoS) levels for MigratoryData messaging. |
enum | CompressionAlgorithm The available compression algorithms for message payloads. |
Public Functions
Name | |
---|---|
MigratoryDataMessage(string subject, byte[] content) Create a MigratoryDataMessage object. |
|
MigratoryDataMessage(string subject, byte[] content, string closure) Create a MigratoryDataMessage object. |
|
MigratoryDataMessage(string subject, byte[] content, string closure, Qos qos, bool snapshot) Create a MigratoryDataMessage object. |
|
MigratoryDataMessage(string subject, byte[] content, string closure, Qos qos, bool snapshot, string replySubject) Create a MigratoryDataMessage object. |
|
string | Subject() Get the subject of the message. |
byte[] | Content() Get the content of the message. |
string | Closure() Get the closure of the message. |
bool | Retained() Indicate whether or not the message should be/was retained by the server. |
string | ReplySubject() Get the subject to be used to reply to this message. |
Qos | QosValue() Get the QoS level of the message. |
MessageType | MsgType() Get the MessageType of the message. |
void | SetCompressed(boolean compressed) Sets whether the content of the message should be compressed. |
void | SetCompressionAlgorithm(CompressionAlgorithm algorithm) Sets the algorithm that determines whether and how the message is compressed. |
CompressionAlgorithm | GetCompressionAlgorithm() Returns the compression algorithm currently set for the message. |
boolean | IsCompressed() Indicates whether the message should be or was compressed. |
override string | ToString() Return a string representation of the message. |
Public Functions Documentation
function MigratoryDataMessage
inline MigratoryDataMessage(
string subject,
byte[] content
)
Create a MigratoryDataMessage object.
Parameters:
- subject The subject of the message
- content The content of the message
function MigratoryDataMessage
inline MigratoryDataMessage(
string subject,
byte[] content,
string closure
)
Create a MigratoryDataMessage object.
Parameters:
- subject The subject of the message
- content The content of the message
- closure The closure of the message (OPTIONAL)
function MigratoryDataMessage
inline MigratoryDataMessage(
string subject,
byte[] content,
string closure,
Qos qos,
bool snapshot
)
Create a MigratoryDataMessage object.
Parameters:
- subject The subject of the message
- content The content of the message
- closure The closure of the message (OPTIONAL)
- qos the QoS level of the message; the default is
[QoS.GUARANTEED](/docs/client-api/dotnet/classes/interfacemigratorydatamessage_1_1qos/#variable-guaranteed)
(OPTIONAL) - retained indicate whether or not the message should be/was retained by the server; the default is
true
(OPTIONAL)
function MigratoryDataMessage
inline MigratoryDataMessage(
string subject,
byte[] content,
string closure,
Qos qos,
bool snapshot,
string replySubject
)
Create a MigratoryDataMessage object.
Parameters:
- subject The subject of the message
- content The content of the message
- closure The closure of the message (OPTIONAL)
- qos the QoS level of the message; the default is
[QoS.GUARANTEED](/docs/client-api/dotnet/classes/interfacemigratorydatamessage_1_1qos/#variable-guaranteed)
(OPTIONAL) - retained indicate whether or not the message should be/was retained by the server; the default is
true
(OPTIONAL) - replySubject the reply subject of the message (OPTIONAL)
If a reply subject is attached to a message, the message acts as a request message. The clients which receive a request message will be able to reply by sending back one or more messages having as subject the reply subject.
Note: If the reply subject is not already subscribed, it will be subscribed by the library implicitly, and it can be reused for request/reply interactions (and even for receiving multiple replies to one request). When it is not needed anymore, it should be unsubscribed explicitly.
function Subject
inline string Subject()
Get the subject of the message.
Return: A string representing the subject of the message
function Content
inline byte[] Content()
Get the content of the message.
Return: A byte array representing the content of the message
function Closure
inline string Closure()
Get the closure of the message.
Return: The closure data of the message
function Retained
inline bool Retained()
Indicate whether or not the message should be/was retained by the server.
Return: true if the message should be, or was, retained by the server
function ReplySubject
inline string ReplySubject()
Get the subject to be used to reply to this message.
Return: The subject to be used to reply to this message.
A client which receives a message containing a reply subject should interpret the message as a request. It has the option to use the reply subject - extracted from the message with this method - to send a reply.
function QosValue
inline Qos QosValue()
Get the QoS level of the message.
Return: the QoS level of the message
function MsgType
inline MessageType MsgType()
Get the MessageType of the message.
Return: the message type of the message
function SetCompressed
inline void SetCompressed(boolean compressed)
Sets whether the content of the message should be compressed.
If true
, compression is enabled using the default algorithm ZLIB_BASE64
,
unless compression has already been explicitly enabled via setCompressionAlgorithm()
with ZLIB_BINARY
, in which case the existing algorithm – which is more compact – is preserved.
If false
, compression is disabled (i.e., compression algorithm is set to NONE
).
Note: If compression is enabled but the resulting compressed content is larger than the original, the message will be sent uncompressed to optimize bandwidth and avoid unnecessary decompression on the subscriber side.
Default behavior: If neither this method nor setCompressionAlgorithm()
is
called, compression is disabled by default (i.e. the compression algorithm is set to NONE
).
Parameters:
compressed
—true
to enable compression usingZLIB_BASE64
unless already enabled withZLIB_BINARY
;false
to disable.
function SetCompressionAlgorithm
inline void SetCompressionAlgorithm(CompressionAlgorithm algorithm)
Sets the algorithm that determines whether and how the message is compressed.
Supported algorithms:
NONE
— disables compressionZLIB_BASE64
— enables compression with base64 encodingZLIB_BINARY
— enables binary compression (most compact)
This method overrides any previously configured compression setting, including one set
by setCompressed()
.
Note: If compression results in a larger payload, the message will be sent uncompressed.
Default behavior: If neither this method nor setCompressed()
is
called, compression is disabled by default (i.e. the compression algorithm is set to NONE
).
Parameters:
algorithm
— the CompressionAlgorithm to apply.
function GetCompressionAlgorithm
inline CompressionAlgorithm GetCompressionAlgorithm()
Returns the compression algorithm currently set for the message.
The returned value reflects the current compression setting of the message, whether it was set via
setCompressed()
and/or setCompressionAlgorithm()
.
Return: the CompressionAlgorithm set for this message.
function IsCompressed
inline boolean IsCompressed()
Indicates whether the message should be or was compressed.
On the publisher side, this indicates whether compression should be applied before sending the message. On the subscriber side, this indicates whether the message was received in compressed form. In both cases, if compression is involved, the library automatically handles compression and decompression.
Return: true
if compression is enabled on the publisher side or the message was received compressed on the
subscriber side; false
otherwise.
function ToString
inline override string ToString()
Return a string representation of the message.
Enum CompressionAlgorithm
Represents the available compression algorithms for message payloads.
public enum CompressionAlgorithm {
NONE(0), // No compression applied
ZLIB_BASE64(1), // ZLIB + Base64 encoding
ZLIB_BINARY(2); // ZLIB + raw binary
}
Enum Values:
- NONE — No compression applied.
- ZLIB_BASE64 — Compression using ZLIB with base64 encoding for UTF-8 transport.
- ZLIB_BINARY — Compression using ZLIB with raw binary output for max efficiency.
Each enum constant is associated with an internal numeric code.