theLink 10.0
Loading...
Searching...
No Matches
MqContextC_Proxy_RB_API

MqContextC - copy data from the read-data-package of the sourceCtx to the send-data-package of the targetCtx More...

+ Collaboration diagram for MqContextC_Proxy_RB_API:

Functions

static OT_ProcRet rbmqmsgque_MqContextC_ProxyForward (MqContextC_ARGS)
  Ruby: sourceCtx.ProxyForward(targetCtx:MqContextC, ?dump:MqDumpC=nil?, ?timeout:MkTimeoutE|int32=DEFAULT?) C-API
send the entire read-data-package-data to the link-target
 
static OT_ProcRet rbmqmsgque_MqContextC_ProxyItem (MqContextC_ARGS)
  Ruby: sourceCtx.ProxyItem(targetCtx:MqContextC) C-API
Copy a single-data-item from the sourceCtx to the targetCtx.
 

Detailed Description

MqContextC - copy data from the read-data-package of the sourceCtx to the send-data-package of the targetCtx

The proxy-feature is used in a filter-setup to process-and-forward incoming data.

See also
MqDumpC

Example: A typical proxy-setup in pseudo C++ code

void myService () {
MqContextC *ftr = SlaveGetFilter(); // get the "slave" with id "1" (the filter)
...
ftr->SendSTART(); // start the FORWARD
while (ReadItemExists()) { // read ALL data from the ORIGINAL service-call
ProxyItem(ftr); // forward a SINGEL item from "this" to "ftr"
}
...
ftr->SendEND_AND_WAIT("MYTK"); // send the data.package to "ftr"
...
SendSTART(); // start the ANSWER
while (ftr->ReadItemExists()) { // read ALL data from the "MYTK" service-call
ftr->ProxyItem(this); // forward a SINGEL item from "ftr" to "this"
}
SendRETURN(); // answer the ORIGINAL service call
}

Function Documentation

◆ rbmqmsgque_MqContextC_ProxyForward()

static OT_ProcRet rbmqmsgque_MqContextC_ProxyForward ( MqContextC_ARGS )
static

Ruby: sourceCtx.ProxyForward(targetCtx:MqContextC, ?dump:MqDumpC=nil?, ?timeout:MkTimeoutE|int32=DEFAULT?) C-API
send the entire read-data-package-data to the link-target

Definition at line 1586 of file MqContextC_rb.c.

1586 {
1589 MQ_CTX targetCtx = 0;
1591 MQ_DMP dump = NULL;
1596 MkErrorC_Check(hdl,MqProxyForward (hdl, targetCtx, dump, timeout));
1598 end: MK_UNUSED /* LONG JUMP on error */
1600}
#define OT_SETUP_VARARGS(min, max, d)
#define OT_CHECK_REQUIRED(val)
#define OT_retObj_SET_None
#define OT_retObj_RETURN
#define OT_CHECK_OPTIONAL(val)
#define OT_CHECK_NOARGS
#define MkErrorC_Check(mng, PROC)
#define ProxyForward_doc
#define OT_SETUP_hdl
#define MK_NULL_NO
#define MK_NULL_YES
#define MK_UNUSED
MK_TIMEOUT_DEFAULT
time_t MK_TIME_T
#define MqProxyForward(...)
MK_TIME_T timeout
Definition high_lng.h:133
#define OT_CHECK_TIME_T(val)
#define OT_CHECK_CTX(val, nullB)
#define OT_CHECK_DMP(val, nullB)
PUBLIC data structure for the rbmqmsgque-specific-data
MqDumpC - the class known as dmp or dump is used to export a rbmqmsgque data package as binary …

◆ rbmqmsgque_MqContextC_ProxyItem()

static OT_ProcRet rbmqmsgque_MqContextC_ProxyItem ( MqContextC_ARGS )
static

Ruby: sourceCtx.ProxyItem(targetCtx:MqContextC) C-API
Copy a single-data-item from the sourceCtx to the targetCtx.

Definition at line 1603 of file MqContextC_rb.c.

1603 {
1606 MQ_CTX targetCtx = 0;
1609 MkErrorC_Check(hdl,MqProxyItem (hdl, targetCtx));
1611 end: MK_UNUSED /* LONG JUMP on error */
1613}
#define OT_SETUP_ONEARG(d)
#define ProxyItem_doc
#define MqProxyItem(...)