tibrvcmReviewCallback

Function Type

Declaration

typedef void* (*tibrvcmReviewCallback) (
    tibrvcmTransport     cmTransport,
    const char*          subject,
    tibrvMsg             message,
    void*                closure);

Purpose

Programs define functions of this type to process ledger review summary messages.

Remarks

tibrvcmTransport_ReviewLedger() calls this callback function once for each matching subject stored in the ledger.

To continue reviewing the ledger, return NULL from this callback function. To stop reviewing the ledger, return non-NULL from this callback function; 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.

message

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

closure

This parameter receives closure data which the program supplied to tibrvcmTransport_ReviewLedger().

Message Fields

This callback function 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()