TibrvCmReviewCallback::onLedgerMsg()

Method

Declaration

virtual void* onLedgerMsg(
    TibrvCmTransport* cmTransport,
    const char* subject,
    TibrvMsg& msg,
    void* closure) = 0;

Purpose

Programs define this method to process ledger review messages.

Remarks

TibrvCmTransport::reviewLedger() calls this callback method once for each matching subject stored in the ledger.

To continue reviewing the ledger, return NULL from this callback method. To stop reviewing the ledger, return non-NULL from this callback method; TibrvCmTransport::reviewLedger() cancels the review and returns immediately.

Parameter

Description

cmTransport

This parameter receives the transport.

subject

This parameter receives the subject for this ledger item.

msg

This parameter receives a summary message describing the delivery status of messages in the ledger. The table Message Content describes the fields of the summary message.

closure

This parameter receives closure data that the program supplied to TibrvCmTransport::reviewLedger().

Message Content

This callback method receives ledger summary messages with these fields.

Field Name

Description

subject

The subject that this message summarizes.

This field has datatype TIBRVMSG_STRING.

seqno_last_sent

The sequence number of the most recent message sent with this subject name.

This field has datatype TIBRVMSG_U64.

total_msgs

The total number of messages stored at this subject name.

This field has datatype TIBRVMSG_U32.

total_size

The total storage (in bytes) occupied by all messages with this subject name.

If the ledger contains several messages with this subject name, then this field sums the storage space over all of them.

This field has datatype TIBRVMSG_U64.

listener

Each summary message can contain one or more fields named listener. Each listener field contains a nested submessage with details about a single registered listener.

This field has datatype TIBRVMSG_MSG.

listener.name

Within each listener submessage, the name field contains the name of the listener transport.

This field has datatype TIBRVMSG_STRING.

listener.last_confirmed

Within each listener submessage, the last_confirmed field contains the sequence number of the last message for which the listener confirmed delivery.

This field has datatype TIBRVMSG_U64.

See Also

TibrvCmTransport::reviewLedger()