MqContextC - setup and manage a storage used to persist data-packages … More...
Functions | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageDelete (MqContextC_ARGS) |
Python: → C-API delete the storage-row identified by the transLIdP_inout … | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageImport (MqContextC_ARGS) |
Python: → C-API import the storage-package into the read-data-package … | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageClose (MqContextC_ARGS) |
Python: → C-API close the storage. … | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageDecrRef (MqContextC_ARGS) |
Python: → C-API decrease the internal refCount lock of the database-entry | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageIncrRef (MqContextC_ARGS) |
Python: → C-API increase the internal refCount lock of the database-entry | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageLog (MqContextC_ARGS) |
Python: → C-API log the storage the status of the open transactions | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageOpen (MqContextC_ARGS) |
Python: → C-API switch to a file-based-transaction-database … | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageCount (MqContextC_ARGS) |
Python: → C-API count the number of storage-rows … | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageErrCnt (MqContextC_ARGS) |
Python: → C-API increment and return the database row-error-count for the row defined with transLId | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageExport (MqContextC_ARGS) |
Python: → C-API export the read-data-package into the STORAGE … | |
static OT_ProcRet | py_mqmsgque_MqContextC_StorageResolve (MqContextC_ARGS) |
Python: → C-API extract the context->link.protect.rmtTransLId entry from the database | |
MqContextC - setup and manage a storage used to persist data-packages …
The storage is divided into: INTERNAL and EXTERNAL storage. Only the read-data-package can be stored or dumped into the storage.
The read-data-package is saved into the storage using:
ServiceStorage | setup a service listen on a MqContextC_ServiceApi_Identifer and save all read-data-package into the STORAGE … |
StorageExport | export the read-data-package into the STORAGE … |
The read-data-package is restored from the storage using:
StorageImport | import the storage-package into the read-data-package … |
ProxyForward | send the entire read-data-package-data to the link-target … |
All this usually happen in an Event Handler |
Some important facts of the storage-feature:
The following internal storages are supported:
Performance analyse:
Nhi1Exec perfclient.c --all --storage VALUE @ perfserver.c
.database | performance | host crash | application crash | info |
---|---|---|---|---|
memdb | 30.000 | data lost | data lost | non persistent |
tempdb | < 30.000 | data lost | data lost | uses memory and/or temporary file |
filedb (mem) | 10.000 | data lost | data safe | in memory filesystem |
filedb (disc) | 50 | data safe | data safe | disc-speed is the key factor |
|
static |
Python:
→ C-API ctx.StorageClose()
close the storage. …
Definition at line 3389 of file MqContextC_py.c.
|
static |
Python:
→ C-API int32 ctx.StorageCount()
count the number of storage-rows …
Definition at line 3471 of file MqContextC_py.c.
|
static |
Python:
→ C-API ctx.StorageDecrRef(transLId:int32)
decrease the internal refCount lock of the database-entry
Definition at line 3403 of file MqContextC_py.c.
|
static |
Python:
→ C-API int32 ctx.StorageDelete(?*transLIdP_inout:int32=0?)
delete the storage-row identified by the transLIdP_inout …
Definition at line 3355 of file MqContextC_py.c.
|
static |
Python:
→ C-API int32 ctx.StorageErrCnt(transLId:int32)
increment and return the database row-error-count for the row defined with transLId
Definition at line 3486 of file MqContextC_py.c.
|
static |
Python:
→ C-API int32 ctx.StorageExport()
export the read-data-package into the STORAGE …
Definition at line 3503 of file MqContextC_py.c.
|
static |
Python:
→ C-API int32 ctx.StorageImport(?*transLIdP_inout:int32=0?)
import the storage-package into the read-data-package …
Definition at line 3371 of file MqContextC_py.c.
|
static |
Python:
→ C-API ctx.StorageIncrRef(transLId:int32)
increase the internal refCount lock of the database-entry
Definition at line 3419 of file MqContextC_py.c.
|
static |
Python:
→ C-API ctx.StorageLog(?callfunc:string="MK_NULL"?)
log the storage the status of the open transactions
Definition at line 3435 of file MqContextC_py.c.
|
static |
Python:
→ C-API ctx.StorageOpen(storageFile:string)
switch to a file-based-transaction-database …
Definition at line 3453 of file MqContextC_py.c.
|
static |
Python:
→ C-API {otherCtxP:MqContextC otherLIdP:int32} ctx.StorageResolve()
extract the context->link.protect.rmtTransLId
entry from the database
Definition at line 3518 of file MqContextC_py.c.