UM C API  6.13
umeprofile.h File Reference

Ultra Messaging (UM) Store Repository Profiling (SRP) API For general information on SRP, see Store Repository Profiling (SRP). 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 LBM_SRP_MAX_PATH_STRLEN   260
 
#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

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...
 
int lbm_srp_delete (const lbm_srp_t **srp_handle)
 Delete a store repository profile object. More...
 
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...
 
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...
 
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 For general information on SRP, see Store Repository Profiling (SRP).

All of the documentation and software included in this and any other Informatica Corporation Ultra Messaging Releases Copyright (C) Informatica Corporation. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted only as covered by the terms of a valid software license agreement with Informatica Corporation.

Copyright (C) 2004-2020, Informatica Corporation. All Rights Reserved.

THE SOFTWARE IS PROVIDED "AS IS" AND INFORMATICA DISCLAIMS ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. INFORMATICA DOES NOT WARRANT THAT USE OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE. INFORMATICA SHALL NOT, UNDER ANY CIRCUMSTANCES, BE LIABLE TO LICENSEE FOR LOST PROFITS, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR INDIRECT DAMAGES ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE TRANSACTIONS CONTEMPLATED HEREUNDER, EVEN IF INFORMATICA HAS BEEN APPRISED OF THE LIKELIHOOD OF SUCH DAMAGES.

Enumeration Type Documentation

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.

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

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_pathnameString containing the path to the state directory.
cache_pathnameString containing the path to the cache directory.
check_checksumFlag to enable/disable cache checksum checking.
srp_handlePointer 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.
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_handlePointer to a store repository profile pointer to an lbm_srp_t object to be deleted.
Returns
0 for Success and -1 for Failure.
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_repoPointer to a store repository profile object to delete.
Returns
0 for Success and -1 for Failure.
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_repoPointer to a store repository profile.
sqnSequence number of the requested message.
repo_msgPointer 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.
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_handlePointer to a store repository profile object to delete.
repo_idxThe index of the store repository.
srp_repoPointer 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.