MqContextC - setup and manage a storage used to persist data-packages … More...
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 |
Tcl:
→ C-API $ctx StorageClose
close the storage. …
Definition at line 3444 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API int32 [$ctx StorageCount]
count the number of storage-rows …
Definition at line 3526 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API $ctx StorageDecrRef transLId:int32
decrease the internal refCount lock of the database-entry
Definition at line 3458 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API int32 [$ctx StorageDelete ?*transLIdP_inout:int32=0?]
delete the storage-row identified by the transLIdP_inout …
Definition at line 3410 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API int32 [$ctx StorageErrCnt transLId:int32]
increment and return the database row-error-count for the row defined with transLId
Definition at line 3541 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API int32 [$ctx StorageExport]
export the read-data-package into the STORAGE …
Definition at line 3558 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API int32 [$ctx StorageImport ?*transLIdP_inout:int32=0?]
import the storage-package into the read-data-package …
Definition at line 3426 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API $ctx StorageIncrRef transLId:int32
increase the internal refCount lock of the database-entry
Definition at line 3474 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API $ctx StorageLog ?callfunc:string="MK_NULL"?
log the storage the status of the open transactions
Definition at line 3490 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API $ctx StorageOpen storageFile:string
switch to a file-based-transaction-database …
Definition at line 3508 of file MqContextC_tcl.c.
|
static |
Tcl:
→ C-API {otherCtxP:MqContextC otherLIdP:int32} [$ctx StorageResolve]
extract the context->link.protect.rmtTransLId
entry from the database
Definition at line 3573 of file MqContextC_tcl.c.