UM C API 6.17.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Typedefs | Enumerations | Functions
umeprofile.h File Reference

Ultra Messaging (UM) Store Repository Profiling (SRP) API. The "umeprofile.h" header file defines the APIs to extract information from a Persistent Store's cache and state files. The binary code is contained in the "umestore" library (static only on Unix: "libumestorelib.a", dynamic only on Windows: "umestore.dll"). See Store Repository Profiling (SRP) for general information on the SRP API. See Persistence for general information on the Persistent Store. See UM C API for general information on the C API. See Fundamental Concepts for an introduction to Ultra Messaging. More...

Go to the source code of this file.

## Data Structures
struct | lbm_srp_repo_msg_t_stct
| Information about a message in the repository, retrieved by lbm_srp_get_repo_message(). More...
struct | lbm_srp_repo_rcvr_t_stct
| Receiver state information, retrieved by lbm_srp_get_repo_state() via lbm_srp_repo_t::rcvs. More...
struct | lbm_srp_repo_t_stct
| Overall information about a store, retrieved by lbm_srp_get_repo_state() More...

## Macros
#define | UMEStoreExpDLL
#define | LBM_SRP_MAX_DIRECTORY_STRLEN 256
#define | LBM_SRP_MAX_PATH_STRLEN (256 + 40)
#define | LBM_SRP_TOPICNAME_MAX_LEN (256 + 8)
#define | LBM_SRP_DISK_MAX_CKSUM_MSG_LEN 8192
#define | LBM_SRP_LBMC_HDR_SZ 12

## Typedefs
typedef 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().
typedef 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.
typedef struct lbm_srp_repo_t_stct | lbm_srp_repo_t
| Overall information about a store, retrieved by lbm_srp_get_repo_state()
typedef struct lbm_srp_t | lbm_srp_t
| SRP object (opaque) for UM.

## Enumerations
enum | lbm_srp_error_t
| Possible error values returned by lbm_srp_create(). More...
enum | lbm_srp_repo_status_t
| Repository status retrieved from lbm_srp_get_repo_state() via lbm_srp_repo_t_stct::repo_status. More...

## Functions
UMEStoreExpDLL 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. More...
UMEStoreExpDLL int | lbm_srp_delete (const lbm_srp_t **srp_handle)
| Delete a store repository profile object. More...
UMEStoreExpDLL 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. More...
UMEStoreExpDLL 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. More...
UMEStoreExpDLL int | lbm_srp_free_repo_state (lbm_srp_repo_t *srp_repo)
| Free store repository profile state object. More...

## Detailed Description

Ultra Messaging (UM) Store Repository Profiling (SRP) API. The "umeprofile.h" header file defines the APIs to extract information from a Persistent Store's cache and state files. The binary code is contained in the "umestore" library (static only on Unix: "libumestorelib.a", dynamic only on Windows: "umestore.dll"). See Store Repository Profiling (SRP) for general information on the SRP API. See Persistence for general information on the Persistent Store. See UM C API for general information on the C API. See Fundamental Concepts for an introduction to Ultra Messaging.

## Enumeration Type Documentation

enum lbm_srp_error_t

Possible error values returned by lbm_srp_create().

Enumerator
LBM_SRP_SCAN_STATE_DIR_ERROR | scandir failed
LBM_SRP_FINDFFIRSTFILE_ERROR | FindFirstFile failed.
LBM_SRP_FINDNEXTFILE_ERROR | FindNextFile failed.

enum lbm_srp_repo_status_t

Repository status retrieved from lbm_srp_get_repo_state() via lbm_srp_repo_t_stct::repo_status.

Enumerator
LBM_SRP_REPO_VALID | Repository is valid.
LBM_SRP_INVALID_STATE_FILE_NAME | state file name is invalid
LBM_SRP_STATE_FILE_OPEN_FAILURE | state file open call failed
LBM_SRP_STATE_FILE_FSTAT_FAILURE | file status [fstat] call failed
LBM_SRP_STATE_FILE_TOO_SMALL | state file too small
LBM_SRP_STATE_FILE_GETSZ_FAILURE | file status [GetFileSizeEx] call failed
LBM_SRP_STATE_FILE_READ_FAILURE | state file read call failed
LBM_SRP_STATE_FILE_READ_TOO_SHORT | state file read byte count too short
LBM_SRP_STATE_FILE_BAD_MAGIC | state file has bad magic
LBM_SRP_CACHE_FILE_OPEN_FAILURE | cache file open failed
LBM_SRP_CACHE_MSG_CREATE_EVENT_FAILED | cache message create event [CreateEvent] call failed at working offset
LBM_SRP_CACHE_MSG_READFILE_FAILED | cache message read file [ReadFile] call failed at working offset
LBM_SRP_CACHE_GETOVERLAPPEDRESULT_FAILED | cache get overlapped result [GetOverlappedResult] call failed at working offset
LBM_SRP_CACHE_MSG_HEADER_UNDERSIZED | cache message header at working offset too small
LBM_SRP_CACHE_MSG_HEADER_READ_MISMATCHED | cache message header read length at working offset mismatched
LBM_SRP_CACHE_MSG_BAD_REC_HEADER_LENGTH | cache message header record length at working offset was bad
LBM_SRP_CACHE_MSG_BAD_CHECKSUM | cache message at working offset has bad checksum
LBM_SRP_CACHE_MSG_BAD_MRKR_HEADER_LENGTH | cache message header marker length at working offset was bad
LBM_SRP_CACHE_MSG_UNKNOWN_HEADER | cache message at working offset has unknown header type
LBM_SRP_CACHE_MSG_MISSING_FIRST_REC | cache message first message record missing
LBM_SRP_CACHE_MSG_FIRST_REC_SQN_MISMATCH | cache message first message record sequence number mismatch
LBM_SRP_CACHE_MSG_MISSING_LAST_REC | cache message last message record missing
LBM_SRP_CACHE_MSG_LAST_REC_SQN_MISMATCH | cache message last message record sequence number mismatch
LBM_SRP_CACHE_MSG_SQN_OUT_OF_RANGE | cache message sequence number out of range
LBM_SRP_CACHE_MSG_READ_LENGTH_MISMATCH | cache message read length actual did not match requested
LBM_SRP_CACHE_DERIVED_LOW_SQN_MISMATCH | cache message derived low sqn does not match lowest sqn in message map

## Function Documentation

UMEStoreExpDLL 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.

The store repository profile object is allocated and filled with the information extracted from files contained in state and cache file directories.

Parameters

  state_pathname | String containing the path to the state directory.
  cache_pathname | String containing the path to the cache directory.
  check_checksum | Flag to enable/disable cache checksum checking.
  srp_handle | Pointer to a store repository profile pointer. Will be filled in by this function to point to the newly created lbm_srp_t object.

Returns
  number of repositories found for Success, or one of lbm_srp_error_t for error.

UMEStoreExpDLL int lbm_srp_delete | ( | const lbm_srp_t ** | srp_handle | ) |

Delete a store repository profile object.

Delete a store repository profile object that was created by a call to lbm_srp_create().

Parameters

  srp_handle | Pointer to a store repository profile pointer to an lbm_srp_t object to be deleted.

Returns
  0 for Success and -1 for Failure.

UMEStoreExpDLL int lbm_srp_free_repo_state | ( | lbm_srp_repo_t * | srp_repo | ) |

Free store repository profile state object.

Free a store repository profile state object that was created by a call to lbm_srp_get_repo_state().

Parameters

  srp_repo | Pointer to a store repository profile object to delete.

Returns
  0 for Success and -1 for Failure.

UMEStoreExpDLL 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.

Get a store repository profile message using the store repository state profile object returned by a call to lbm_srp_get_repo_state().

Parameters

  srp_repo | Pointer to a store repository profile.
  sqn | Sequence number of the requested message.
  repo_msg | Pointer to a store repository profile message. The lbm_srp_repo_msg_t object will be filled in by this function. No message body will be provided if the message buffer pointer member (buff) of the lbm_srp_repo_msg_t object is NULL.

Returns
  -1 if Error, 0 if Not Found, 1 if Found.

UMEStoreExpDLL 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.

Get a store repository profile state object that was created by a call to lbm_srp_create().

Parameters

  srp_handle | Pointer to a store repository profile object to delete.
  repo_idx | The index of the store repository.
  srp_repo | Pointer to a store repository profile state pointer. Will be filled in by this function to point to the newly created lbm_srp_repo_t object.

Returns
  -1 if API error, 0 if repository is invalid, 1 if repository is valid.