MessageOut Event
Fired when an outgoing message has been sent and/or fully acknowledged.
Syntax
typedef struct { int PacketId; String Topic; int QOS; String Message; DynamicArray<Byte> MessageB; bool Retained; bool Duplicate; } TipqMQTTMessageOutEventParams; typedef void __fastcall (__closure *TipqMQTTMessageOutEvent)(System::TObject* Sender, TipqMQTTMessageOutEventParams *e); __property TipqMQTTMessageOutEvent OnMessageOut = { 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);
};