MessageOut Event
Fired when an outgoing message has been sent and/or fully acknowledged.
Syntax
type TMessageOutEvent = procedure ( Sender: TObject; PacketId: Integer; const Topic: String; QOS: Integer; Message: String; MessageB: TBytes; Retained: Boolean; Duplicate: Boolean ) of Object;
property OnMessageOut: TMessageOutEvent read FOnMessageOut write FOnMessageOut;
Remarks
The MessageOut event fires once for each outgoing message either immediately after it is sent (QoS 0), or after it has been fully acknowledged by the receiver (QoS 1 and 2).
- PacketId: The message packet Id. This will always be -1 if QOS is 0.
- Topic: The message's topic string.
- QOS: The message's QoS level.
- Message: The message data.
- Retained: Whether or not this message was sent with the "Retain" flag set.
- Duplicate: Whether or not this message was sent with the "Duplicate" flag set.
Refer to MessageAck for more information about QoS 1 and 2 message processing steps.
// MessageOut event handler.
mqtt1.OnMessageOut += (s, e) => {
Console.WriteLine(
"Send message to topic '"
+ e.Topic +
"' with QoS "
+ e.QOS +
":"
);
Console.WriteLine(e.Message);
};