theLink 10.0
Loading...
Searching...
No Matches
MqContextC_Env_RB_API

MqContextC - protect and restore the service-environment … More...

+ Collaboration diagram for MqContextC_Env_RB_API:

Functions

static OT_ProcRet rbmqmsgque_MqContextC_EnvProtect (MqContextC_ARGS)
  Ruby: ctx.EnvProtect() C-API
protect the service-environment
 
static OT_ProcRet rbmqmsgque_MqContextC_EnvRestore (MqContextC_ARGS)
  Ruby: ctx.EnvRestore() C-API
restore the service-environment
 

Detailed Description

MqContextC - protect and restore the service-environment …

The "Env" style functions are used to secure the service-environment (defined in MqEnvS)
and is required.. under special conditions... to proper answer the original service call at the
end of the service-processing.
By default rbmqmsgque guarantee the proper management of the environment on behalf of the user.
Under normal conditions the user don't need these functions.

The folllowing design-goals were defined:

The two design-goals from above are in conflict and the both functions MqEnvProtect and MqEnvRestore are used to solve this conflict.

Example from server.rb protect the environment and import from database

        # PROTECT the original service-call
        EnvProtect()
        # OVERWRITE the original service-call with data from the database
        @dump.Import(self)
        read = ReadALL()
        # RESTORE the original service-call
        EnvRestore()
        # ANSWER the original service-call
        Send("R", "L", read);

Function Documentation

◆ rbmqmsgque_MqContextC_EnvProtect()

static OT_ProcRet rbmqmsgque_MqContextC_EnvProtect ( MqContextC_ARGS )
static

Ruby: ctx.EnvProtect() C-API
protect the service-environment

Definition at line 1117 of file MqContextC_rb.c.

1117 {
1121 MqEnvProtect (hdl);
1123 end: MK_UNUSED /* LONG JUMP on error */
1125}
#define OT_SETUP_NOARG(d)
#define OT_retObj_SET_None
#define OT_retObj_RETURN
#define OT_CHECK_NOARGS
#define OT_SETUP_hdl
#define EnvProtect_doc
#define MK_UNUSED
#define MqEnvProtect(...)

◆ rbmqmsgque_MqContextC_EnvRestore()

static OT_ProcRet rbmqmsgque_MqContextC_EnvRestore ( MqContextC_ARGS )
static

Ruby: ctx.EnvRestore() C-API
restore the service-environment

Definition at line 1128 of file MqContextC_rb.c.

1128 {
1132 MqEnvRestore (hdl);
1134 end: MK_UNUSED /* LONG JUMP on error */
1136}
#define EnvRestore_doc
void MqEnvRestore(MQ_CTX ctx)
restore the service-environment