UM C API  6.16
lbm_msg_t_stct Struct Reference

Information structure for receive events delivered to receiver callback lbm_rcv_cb_proc. More...

#include <lbm.h>

Data Fields

char source [LBM_MSG_MAX_SOURCE_LEN]
 Source string of transport session. See Source String.
 
char topic_name [LBM_MSG_MAX_TOPIC_LEN]
 Name of the topic. Although this field is allocated at 256 bytes, legal topic names are restricted to 246 bytes.
 
char copied_state [LBM_MSG_MAX_STATE_LEN]
 Copy of the state of the msg (only used on specific platforms. DO NOT ACCESS DIRECTLY!)
 
int type
 Type of receiver event. See C Receiver Events.
 
int flags
 Bitmap indicating extra information about the message. Zero or more flag bits ORed together LBM_MSG_FLAG_*, not including LBM_MSG_FLAG_NUMBERED_CHANNEL.
 
const char * data
 Data contents of the message if of a message type that carries data. Note that UM does not guarantee any alignment of that data. The interpretation of the data pointer depends on the value of lbm_msg_t::type. See each value's description.
 
size_t len
 Length of data in bytes.
 
lbm_response_tresponse
 Pointer to response object used for sending responses for lbm_msg_t request.
 
lbm_uint_t sequence_number
 Topic level sequence number of message. For fragmented messages, this is the sequence number of the final fragment comprising the message.
 
long refcnt
 UM internal only. DO NOT ACCESS DIRECTLY!
 
size_t apphdr_len
 UM internal only. DO NOT ACCESS DIRECTLY!
 
lbm_ulong_t apphdr_code
 UM internal only. DO NOT ACCESS DIRECTLY!
 
lbm_timeval_t tsp
 Timestamp indicating the earliest time that the message was received, in seconds and microseconds since midnight, January 1st, 1970 UTC. This time can be up to 500 milliseconds prior to actual receipt time, and hence, is not suitable when accurate message-arrival-time measurements are needed.
 
lbm_ushort_t hdrlen
 UM internal only. DO NOT ACCESS DIRECTLY!
 
const lbm_buff_tbuffer
 UM internal only. DO NOT ACCESS DIRECTLY!
 
const void * fragment_info
 UM internal only. DO NOT ACCESS DIRECTLY! To access information about message fragments, use lbm_msg_retrieve_fragment_info().
 
const char * apphdr_data
 UM internal only. DO NOT ACCESS DIRECTLY! To access information about application headers, see lbm_apphdr_chain_iter_create_from_msg().
 
const void * source_clientd
 The per-source clientd value for the source set by the lbm_rcv_src_notification_create_function_cb callback.
 
const void * umeack
 UM internal only. DO NOT ACCESS DIRECTLY!
 
const void * src_cd
 UM internal only. DO NOT ACCESS DIRECTLY!
 
lbm_uint_t osqn
 UM internal only. DO NOT ACCESS DIRECTLY!
 
lbm_msg_channel_info_tchannel_info
 Channel information set when using Spectrum channels.
 
const void * umq_msgid
 UM internal only. DO NOT ACCESS DIRECTLY!
 
const void * umq_cr
 UM internal only. DO NOT ACCESS DIRECTLY!
 
const void * pdata
 UM internal only. DO NOT ACCESS DIRECTLY!
 
size_t plen
 UM internal only. DO NOT ACCESS DIRECTLY!
 
lbm_msg_properties_tproperties
 Message properties structure for this message. See Message Properties.
 
lbm_hf_sequence_number_t hf_sequence_number
 Hot failover sequence number, check message flags for LBM_MSG_FLAG_HF_32 or LBM_MSG_FLAG_HF_64.
 
const void * broker_msg_state
 UM internal only. DO NOT ACCESS DIRECTLY!
 
lbm_timespec_t hr_timestamp
 High Resolution Timestamp of the received message.
 

Detailed Description

Information structure for receive events delivered to receiver callback lbm_rcv_cb_proc.

Although the structure name suggests that only received application messages are represented here, there are in fact many different types of receiver events for which lbm_rcv_cb_proc's "msg" parameter provides information. Very important is the lbm_msg_t::type field, which indicates the receiver event type.

See lbm_msg_t::type for all possible event types.


The documentation for this struct was generated from the following file: