UM C API  6.13
umeprofile.h
Go to the documentation of this file.
1 
25 #ifndef UME_PROFILE_H
26 #define UME_PROFILE_H
27 
28 /* Limits & sizes */
29 #define LBM_SRP_MAX_PATH_STRLEN 260
30 #define LBM_SRP_TOPICNAME_MAX_LEN (256 + 8)
31 #define LBM_SRP_DISK_MAX_CKSUM_MSG_LEN 8192
32 #define LBM_SRP_LBMC_HDR_SZ 12
33 
35 typedef enum {
43 
46 typedef enum {
100 
103 typedef struct lbm_srp_repo_msg_t_stct {
109  size_t disk_len;
113  struct timeval tsp;
115  char *buff;
141  char fragment;
143 
147 typedef struct lbm_srp_repo_rcvr_t_stct {
167  lbm_uint8_t otid[LBM_OTID_BLOCK_SZ];
169  lbm_uint8_t ctxinst[LBM_CONTEXT_INSTANCE_BLOCK_SZ];
177 
180 typedef struct lbm_srp_repo_t_stct {
182  char state_filename[LBM_SRP_MAX_PATH_STRLEN];
184  char cache_filename[LBM_SRP_MAX_PATH_STRLEN];
188  int cache_fd;
204  void *msg_map;
208  char topicname[LBM_SRP_TOPICNAME_MAX_LEN];
228  lbm_uint8_t otid[LBM_OTID_BLOCK_SZ];
230  lbm_uint8_t ctxinst[LBM_CONTEXT_INSTANCE_BLOCK_SZ];
240  size_t sz_threshold;
242  size_t sz_limit;
258 
261 typedef struct lbm_srp_t lbm_srp_t;
262 
275 int lbm_srp_create(const char *state_pathname, const char *cache_pathname, const int check_checksum, const lbm_srp_t * *srp_handle);
276 
284 int lbm_srp_delete(const lbm_srp_t * *srp_handle);
285 
296 int lbm_srp_get_repo_state(const lbm_srp_t * *srp_handle, int repo_idx, lbm_srp_repo_t * *srp_repo);
297 
310 int lbm_srp_get_repo_message(lbm_srp_repo_t *srp_repo, int sqn, lbm_srp_repo_msg_t *repo_msg);
311 
320 
321 #endif /* UME_PROFILE_H */
cache message read length actual did not match requested
Definition: umeprofile.h:96
struct timeval tsp
message timestamp
Definition: umeprofile.h:113
cache message first message record missing
Definition: umeprofile.h:86
struct lbm_srp_repo_msg_t_stct lbm_srp_repo_msg_t
Information about a message in the repository, retrieved by lbm_srp_get_repo_message().
scandir failed
Definition: umeprofile.h:37
lbm_uint32_t lbmc_sqn
LBMC header sequence number.
Definition: umeprofile.h:125
lbm_uint8_t use_proxy
use proxy source
Definition: umeprofile.h:254
int cache_fd
opaque reference to the message cache file descriptor
Definition: umeprofile.h:188
cache message header read length at working offset mismatched
Definition: umeprofile.h:76
cache message read file [ReadFile] call failed at working offset
Definition: umeprofile.h:70
cache file open failed
Definition: umeprofile.h:66
lbm_uint8_t frag_hdr_len
LBMC fragment header length.
Definition: umeprofile.h:129
lbm_uint8_t lbmc_next_hdr
LBMC header next header.
Definition: umeprofile.h:119
size_t sz_limit
size limit
Definition: umeprofile.h:242
cache message header marker length at working offset was bad
Definition: umeprofile.h:82
cache message last message record sequence number mismatch
Definition: umeprofile.h:92
lbm_srp_repo_status_t repo_status
repository status
Definition: umeprofile.h:190
cache message sequence number out of range
Definition: umeprofile.h:94
lbm_uint8_t rpp_mode
receiver paced persistence mode
Definition: umeprofile.h:232
size_t disk_len
message length on disk (includes LBM headers)
Definition: umeprofile.h:109
file status [fstat] call failed
Definition: umeprofile.h:54
lbm_uint64_t sid
receiver session identifier
Definition: umeprofile.h:163
uint64_t lbm_uint64_t
For portability.
Definition: lbm.h:1159
char * buff
message buffer pointer
Definition: umeprofile.h:115
lbm_uint32_t lbmc_msg_offset
message offset
Definition: umeprofile.h:139
lbm_srp_repo_status_t
Repository status retrieved from lbm_srp_get_repo_state() via lbm_srp_repo_t_stct::repo_status.
Definition: umeprofile.h:46
lbm_uint8_t frag_next_hdr
LBMC fragment header next header.
Definition: umeprofile.h:127
Receiver state information, retrieved by lbm_srp_get_repo_state() via lbm_srp_repo_t::rcvs.
Definition: umeprofile.h:147
state file open call failed
Definition: umeprofile.h:52
struct lbm_srp_t lbm_srp_t
SRP object (opaque) for UM.
Definition: umeprofile.h:261
lbm_ulong_t considered_activity_tmo
considered activity timeout
Definition: umeprofile.h:173
state file read byte count too short
Definition: umeprofile.h:62
lbm_uint32_t rcv_domain_id
receive domain identifier
Definition: umeprofile.h:171
lbm_srp_error_t
Possible error values returned by lbm_srp_create().
Definition: umeprofile.h:35
lbm_ulong_t disk_sz_limit
disk repository file size limit
Definition: umeprofile.h:244
lbm_uint32_t regid
registration identifier
Definition: umeprofile.h:149
lbm_uint32_t src_domain_id
source domain identifier
Definition: umeprofile.h:250
lbm_uint32_t ume_stored_version
store daemon version (n.n.n.n) that created the repository
Definition: umeprofile.h:186
int lbm_srp_delete(const lbm_srp_t **srp_handle)
Delete a store repository profile object.
FindFirstFile failed.
Definition: umeprofile.h:39
lbm_uint16_t frag_flags
LBMC fragment header flags.
Definition: umeprofile.h:131
lbm_uint32_t frag_len
LBMC fragment header message length.
Definition: umeprofile.h:137
char fragment
1 means the message was a fragment
Definition: umeprofile.h:141
lbm_uint64_t start_offset
disk byte offset of the lowest sequence number in the repository cache
Definition: umeprofile.h:200
size_t sz_threshold
size threshold
Definition: umeprofile.h:240
Definition: umeprofile.h:98
Information about a message in the repository, retrieved by lbm_srp_get_repo_message().
Definition: umeprofile.h:103
struct lbm_srp_repo_rcvr_t_stct lbm_srp_repo_rcvr_t
Receiver state information, retrieved by lbm_srp_get_repo_state() via lbm_srp_repo_t::rcvs.
state file too small
Definition: umeprofile.h:56
cache message last message record missing
Definition: umeprofile.h:90
lbm_uint32_t low_sqn
lowest sequence number in the repository cache
Definition: umeprofile.h:196
lbm_ulong_t considered_state_lifetime
considered state lifetime
Definition: umeprofile.h:175
uint8_t lbm_uint8_t
For portability.
Definition: lbm.h:1151
cache message header record length at working offset was bad
Definition: umeprofile.h:78
lbm_uint32_t transport_idx
source transport index
Definition: umeprofile.h:210
lbm_uint16_t src_port
source IP port
Definition: umeprofile.h:216
lbm_ulong_t considered_src_state_lifetime
considered state lifetime
Definition: umeprofile.h:238
state file read call failed
Definition: umeprofile.h:60
lbm_uint32_t lbmc_tidx
LBMC header topic index.
Definition: umeprofile.h:123
cache get overlapped result [GetOverlappedResult] call failed at working offset
Definition: umeprofile.h:72
int lbm_srp_get_repo_message(lbm_srp_repo_t *srp_repo, int sqn, lbm_srp_repo_msg_t *repo_msg)
Get store repository profile message.
lbm_uint64_t end_offset
disk byte offset of the highest sequence number in the repository cache
Definition: umeprofile.h:202
lbm_uint32_t sqn
high ack sequence number
Definition: umeprofile.h:151
lbm_uint32_t rcv_addr
receiver IP address
Definition: umeprofile.h:157
lbm_uint64_t disk_offset
message offset on disk
Definition: umeprofile.h:111
lbm_uint32_t frag_offset
LBMC fragment header message offset.
Definition: umeprofile.h:135
state file name is invalid
Definition: umeprofile.h:50
lbm_ulong_t considered_src_activity_tmo
considered activity timeout
Definition: umeprofile.h:236
cache message at working offset has bad checksum
Definition: umeprofile.h:80
lbm_uint8_t flags
message flags
Definition: umeprofile.h:107
lbm_uint64_t src_flightsz_bytes
source flight size in bytes
Definition: umeprofile.h:248
lbm_uint16_t store_id
store identifier
Definition: umeprofile.h:153
unsigned long int lbm_ulong_t
For portability.
Definition: lbm.h:1145
state file has bad magic
Definition: umeprofile.h:64
cache message first message record sequence number mismatch
Definition: umeprofile.h:88
lbm_uint8_t allow_ack_on_reception
allow acknowledge on reception
Definition: umeprofile.h:252
lbm_uint32_t sqn
message sequence number
Definition: umeprofile.h:105
lbm_uint16_t lbmc_msglen
LBMC header message length.
Definition: umeprofile.h:121
lbm_uint32_t frag_first_sqn
LBMC fragment header first sequence number.
Definition: umeprofile.h:133
int lbm_srp_get_repo_state(const lbm_srp_t **srp_handle, int repo_idx, lbm_srp_repo_t **srp_repo)
Get store repository profile state object.
lbm_srp_repo_rcvr_t ** rcvs
pointers to registered repository receivers
Definition: umeprofile.h:256
int lbm_srp_create(const char *state_pathname, const char *cache_pathname, const int check_checksum, const lbm_srp_t **srp_handle)
Create and fill a store repository profile object.
file status [GetFileSizeEx] call failed
Definition: umeprofile.h:58
lbm_uint16_t flags
flags
Definition: umeprofile.h:165
FindNextFile failed.
Definition: umeprofile.h:41
lbm_uint16_t num_stores
number of stores out of the block of 25 that are in use
Definition: umeprofile.h:222
int num_msg_duplicates
the number of message duplicates in the repository cache
Definition: umeprofile.h:206
Overall information about a store, retrieved by lbm_srp_get_repo_state()
Definition: umeprofile.h:180
lbm_uint16_t rcv_port
receiver IP port
Definition: umeprofile.h:155
cache message at working offset has unknown header type
Definition: umeprofile.h:84
lbm_uint32_t src_addr
source IP address
Definition: umeprofile.h:214
lbm_uint8_t repo_type
repository type
Definition: umeprofile.h:234
Repository is valid.
Definition: umeprofile.h:48
uint32_t lbm_uint32_t
For portability.
Definition: lbm.h:1155
lbm_uint32_t num_grps
number of groups out of the block of 5 that are in use
Definition: umeprofile.h:224
lbm_uint32_t transport_idx
receiver transport index
Definition: umeprofile.h:159
cache message header at working offset too small
Definition: umeprofile.h:74
lbm_uint16_t store_id
store identifier
Definition: umeprofile.h:218
lbm_uint8_t lbmc_ver_type
LBMC header version/type.
Definition: umeprofile.h:117
lbm_uint16_t num_rcvs
number of receivers
Definition: umeprofile.h:220
lbm_uint64_t sid
source session identifier
Definition: umeprofile.h:226
lbm_uint32_t high_sqn
highest sequence number in the repository cache
Definition: umeprofile.h:198
void * msg_map
opaque reference to the message cache
Definition: umeprofile.h:204
lbm_uint32_t write_delay
write delay
Definition: umeprofile.h:246
int error_info
error information, e.g., errno/errnum
Definition: umeprofile.h:192
lbm_uint32_t topic_idx
topic index
Definition: umeprofile.h:161
int lbm_srp_free_repo_state(lbm_srp_repo_t *srp_repo)
Free store repository profile state object.
cache message create event [CreateEvent] call failed at working offset
Definition: umeprofile.h:68
lbm_uint32_t topic_idx
source topic index
Definition: umeprofile.h:212
uint16_t lbm_uint16_t
For portability.
Definition: lbm.h:1153
lbm_uint32_t num_msgs
the number of messages in the repository cache
Definition: umeprofile.h:194
struct lbm_srp_repo_t_stct lbm_srp_repo_t
Overall information about a store, retrieved by lbm_srp_get_repo_state()