Include dependency graph for QueueInterface.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
struct | QueueProperties |
The QueueProperty struct holds all configuration parameters of the queue to create. More... | |
struct | QueueEntry |
A struct holding the necessary queue entry informations used by I_Queue. More... | |
struct | QueueEntryStructArr |
Holds an array of Messages. More... | |
struct | I_QueueStruct |
Interface for a queue implementation. More... | |
Defines | |
#define | QUEUE_ENTRY_EMBEDDEDTYPE_LEN 28 |
#define | QUEUE_PREFIX_MAX 20 |
#define | QUEUE_DBNAME_MAX 256 |
#define | QUEUE_ID_MAX 256 |
Typedefs | |
typedef QueueEntryStructArr | QueueEntryArr |
Holds an array of Messages. | |
typedef I_QueueStruct | I_Queue |
typedef int(*) | I_QueueInitialize (I_Queue *queueP, const QueueProperties *queueProperties, ExceptionStruct *exception) |
Declare function pointers to use in struct to simulate object oriented access. | |
typedef void(*) | I_QueueShutdown (I_Queue **queuePP, ExceptionStruct *exception) |
typedef int(*) | I_QueueDestroy (I_Queue **queuePP, ExceptionStruct *exception) |
typedef const QueueProperties *(*) | I_QueueGetProperties (I_Queue *queueP) |
typedef void(*) | I_QueuePut (I_Queue *queueP, const QueueEntry *queueEntry, ExceptionStruct *exception) |
typedef QueueEntryArr *(*) | I_QueuePeekWithSamePriority (I_Queue *queueP, int32_t maxNumOfEntries, int64_t maxNumOfBytes, ExceptionStruct *exception) |
typedef int32_t(*) | I_QueueRandomRemove (I_Queue *queueP, const QueueEntryArr *queueEntryArr, ExceptionStruct *exception) |
typedef int(*) | I_QueueClear (I_Queue *queueP, ExceptionStruct *exception) |
typedef int(*) | I_QueueEmpty (I_Queue *queueP) |
typedef int32_t(*) | I_QueueNumOfEntries (I_Queue *queueP) |
typedef int32_t(*) | I_QueueMaxNumOfEntries (I_Queue *queueP) |
typedef int64_t(*) | I_QueueNumOfBytes (I_Queue *queueP) |
typedef int64_t(*) | I_QueueMaxNumOfBytes (I_Queue *queueP) |
Functions | |
I_Queue * | createQueue (const QueueProperties *queueProperties, ExceptionStruct *exception) |
Get an instance of a persistent queue and initialize it. | |
void | freeQueueEntryArr (QueueEntryArr *queueEntryArr) |
Frees everything inside QueueEntryArr and the struct QueueEntryArr itself. | |
void | freeQueueEntryArrInternal (QueueEntryArr *queueEntryArr) |
Frees everything inside QueueEntryArr but NOT the struct QueueEntryArr itself. | |
void | freeQueueEntry (QueueEntry *queueEntry) |
Frees the internal blob and the queueEntry itself. | |
char * | queueEntryToXml (QueueEntry *queueEntry, int maxContentDumpLen) |
NOTE: You need to free the returned pointer with freeEntryDump() (which calls free())! | |
void | freeEntryDump (char *queueDump) |
Free the memory allocated by queueEntryToXml(). |
#define QUEUE_DBNAME_MAX 256 |
Definition at line 27 of file QueueInterface.h.
Referenced by org::xmlBlaster::util::queue::SQLiteQueuePlugin::SQLiteQueuePlugin().
#define QUEUE_ENTRY_EMBEDDEDTYPE_LEN 28 |
Definition at line 24 of file QueueInterface.h.
Referenced by org::xmlBlaster::util::queue::SQLiteQueuePlugin::put().
#define QUEUE_ID_MAX 256 |
Definition at line 28 of file QueueInterface.h.
Referenced by org::xmlBlaster::util::queue::SQLiteQueuePlugin::SQLiteQueuePlugin().
#define QUEUE_PREFIX_MAX 20 |
Definition at line 26 of file QueueInterface.h.
Referenced by org::xmlBlaster::util::queue::SQLiteQueuePlugin::SQLiteQueuePlugin().
typedef struct I_QueueStruct I_Queue |
Definition at line 65 of file QueueInterface.h.
typedef int( * ) I_QueueClear(I_Queue *queueP, ExceptionStruct *exception) |
Definition at line 75 of file QueueInterface.h.
typedef int( * ) I_QueueDestroy(I_Queue **queuePP, ExceptionStruct *exception) |
Definition at line 70 of file QueueInterface.h.
typedef int( * ) I_QueueEmpty(I_Queue *queueP) |
Definition at line 76 of file QueueInterface.h.
typedef const QueueProperties*( * ) I_QueueGetProperties(I_Queue *queueP) |
Definition at line 71 of file QueueInterface.h.
typedef int( * ) I_QueueInitialize(I_Queue *queueP, const QueueProperties *queueProperties, ExceptionStruct *exception) |
Declare function pointers to use in struct to simulate object oriented access.
Definition at line 68 of file QueueInterface.h.
typedef int64_t( * ) I_QueueMaxNumOfBytes(I_Queue *queueP) |
Definition at line 80 of file QueueInterface.h.
typedef int32_t( * ) I_QueueMaxNumOfEntries(I_Queue *queueP) |
Definition at line 78 of file QueueInterface.h.
typedef int64_t( * ) I_QueueNumOfBytes(I_Queue *queueP) |
Definition at line 79 of file QueueInterface.h.
typedef int32_t( * ) I_QueueNumOfEntries(I_Queue *queueP) |
Definition at line 77 of file QueueInterface.h.
typedef QueueEntryArr*( * ) I_QueuePeekWithSamePriority(I_Queue *queueP, int32_t maxNumOfEntries, int64_t maxNumOfBytes, ExceptionStruct *exception) |
Definition at line 73 of file QueueInterface.h.
typedef void( * ) I_QueuePut(I_Queue *queueP, const QueueEntry *queueEntry, ExceptionStruct *exception) |
Definition at line 72 of file QueueInterface.h.
typedef int32_t( * ) I_QueueRandomRemove(I_Queue *queueP, const QueueEntryArr *queueEntryArr, ExceptionStruct *exception) |
Definition at line 74 of file QueueInterface.h.
typedef void( * ) I_QueueShutdown(I_Queue **queuePP, ExceptionStruct *exception) |
Definition at line 69 of file QueueInterface.h.
typedef struct QueueEntryStructArr QueueEntryArr |
Holds an array of Messages.
I_Queue* createQueue | ( | const QueueProperties * | queueProperties, | |
ExceptionStruct * | exception | |||
) |
Get an instance of a persistent queue and initialize it.
Every call creates a new and independent instance which shall be destroyed by a call to freeQueue() when you are done
queueProperties | Configuration properties of the queue, always do a first memset(&queueProperties, 0, sizeof(QueueProperties)); to initialize new, future members.dbName The database name, for SQLite it is the file name on HD, "xmlBlasterClient.db" queueName The name of the queue, "connection_clientJoe" maxNumOfEntries The max. accepted entries, 10000000l maxNumOfBytes The max. accepted bytes, 1000000000ll logFp Your logging implementation or NULL if no logging callbacks are desired logLevel Set to LOG_TRACE to receive any logging userObject A pointer of your choice, is passed back when calling logFp in queueP->userObject | |
exception |
Referenced by org::xmlBlaster::util::queue::SQLiteQueuePlugin::SQLiteQueuePlugin().
void freeEntryDump | ( | char * | queueDump | ) |
void freeQueueEntry | ( | QueueEntry * | queueEntry | ) |
Frees the internal blob and the queueEntry itself.
queueEntry | Its memory is freed, it is not usable anymore after this call. Passing NULL is OK |
void freeQueueEntryArr | ( | QueueEntryArr * | queueEntryArr | ) |
Frees everything inside QueueEntryArr and the struct QueueEntryArr itself.
queueEntryArr | The struct to free, it is not usable anymore after this call. Passing NULL is OK |
Referenced by org::xmlBlaster::util::queue::SQLiteQueuePlugin::peekWithSamePriority().
void freeQueueEntryArrInternal | ( | QueueEntryArr * | queueEntryArr | ) |
Frees everything inside QueueEntryArr but NOT the struct QueueEntryArr itself.
queueEntryArr | The struct internals to free. Passing NULL is OK |
char* queueEntryToXml | ( | QueueEntry * | queueEntry, | |
int | maxContentDumpLen | |||
) |
NOTE: You need to free the returned pointer with freeEntryDump() (which calls free())!
maxContentDumpLen | for -1 get the complete content, else limit the content to the given number of bytes |