Loading...
Searching...
No Matches
MqContextC_TOR_C_API

MqContextC - various functions to create, initialize and destroy a contextMore...

+ Collaboration diagram for MqContextC_TOR_C_API:

Functions

MQ_EXTERN void MqContextInit_RT (MK_RT const mkrt, MQ_CTX const ctx, MK_TYP type, MQ_CTX const tmpl)
 initialize the MqContextC object related data but do not create the object self
 
MQ_EXTERN void MqContextFree_RT (MK_RT const mkrt, MQ_CTX const ctx)
 free the MqContextC object related data but do not free the toplevel object self …
 
MQ_EXTERN MQ_CTX MqContextCreate_RT (MK_RT const mkrt, MK_TYP type, MQ_CTX const tmpl)
 create and initialize the MqContextC ...
 
MQ_EXTERN MQ_CTX MqContextSetup_RT (MK_RT const mkrt, MK_TYP type, MQ_CTX const tmpl, MQ_CTX *ctx_out)
 

MqContextDelete

MQ_EXTERN void MqContextDelete_RT (MK_RT const mkrt, MQ_CTX ctx)
 Destructor - delete a MqContextC instance …
 

MqContextC - MqContextC_TOR_C_API - overload

#define MqContextCreate_NULL(...)
 
#define MqContextCreate(...)
 
#define MqContextCreate_1(tmpl)
 
#define MqContextCreate_0()
 
#define MqContextSetup_NULL(...)
 
#define MqContextSetup(...)
 
#define MqContextSetup_2(tmpl, ctx_out)
 
#define MqContextSetup_1(ctx_out)
 
#define MqContextDelete(x)
 
#define MqContextFree_NULL(...)
 
#define MqContextFree(...)
 
#define MqContextInit_NULL(...)
 
#define MqContextInit(...)
 

Detailed Description

MqContextC - various functions to create, initialize and destroy a context

Macro Definition Documentation

◆ MqContextCreate

#define MqContextCreate ( ...)
Value:
#define MK_RT_CALL
MQ_EXTERN MQ_CTX MqContextCreate_RT(MK_RT const mkrt, MK_TYP type, MQ_CTX const tmpl)
create and initialize the MqContextC ...

Definition at line 859 of file msgque_overload_mq.h.

◆ MqContextCreate_0

#define MqContextCreate_0 ( )
Value:
MqContextCreate(NULL,NULL)
#define MqContextCreate(...)

Definition at line 861 of file msgque_overload_mq.h.

◆ MqContextCreate_1

#define MqContextCreate_1 ( tmpl)
Value:
MqContextCreate(NULL,tmpl)

Definition at line 860 of file msgque_overload_mq.h.

◆ MqContextCreate_NULL

#define MqContextCreate_NULL ( ...)
Value:
#define MK_RT_CALL_NULL

Definition at line 858 of file msgque_overload_mq.h.

◆ MqContextDelete

#define MqContextDelete ( x)
Value:
#define MkObjectDeleteToNull(fct, x)
MQ_EXTERN void MqContextDelete_RT(MK_RT const mkrt, MQ_CTX ctx)
Destructor - delete a MqContextC instance …

Definition at line 868 of file msgque_overload_mq.h.

◆ MqContextFree

#define MqContextFree ( ...)
Value:
MQ_EXTERN void MqContextFree_RT(MK_RT const mkrt, MQ_CTX const ctx)
free the MqContextC object related data but do not free the toplevel object self …

Definition at line 872 of file msgque_overload_mq.h.

◆ MqContextFree_NULL

#define MqContextFree_NULL ( ...)
Value:

Definition at line 871 of file msgque_overload_mq.h.

◆ MqContextInit

#define MqContextInit ( ...)
Value:
MQ_EXTERN void MqContextInit_RT(MK_RT const mkrt, MQ_CTX const ctx, MK_TYP type, MQ_CTX const tmpl)
initialize the MqContextC object related data but do not create the object self

Definition at line 874 of file msgque_overload_mq.h.

◆ MqContextInit_NULL

#define MqContextInit_NULL ( ...)
Value:

Definition at line 873 of file msgque_overload_mq.h.

◆ MqContextSetup

#define MqContextSetup ( ...)
Value:
MQ_EXTERN MQ_CTX MqContextSetup_RT(MK_RT const mkrt, MK_TYP type, MQ_CTX const tmpl, MQ_CTX *ctx_out)

Definition at line 863 of file msgque_overload_mq.h.

◆ MqContextSetup_1

#define MqContextSetup_1 ( ctx_out)
Value:
MqContextSetup(NULL,NULL,ctx_out)
#define MqContextSetup(...)

Definition at line 865 of file msgque_overload_mq.h.

◆ MqContextSetup_2

#define MqContextSetup_2 ( tmpl,
ctx_out )
Value:
MqContextSetup(NULL,tmpl,ctx_out)

Definition at line 864 of file msgque_overload_mq.h.

◆ MqContextSetup_NULL

#define MqContextSetup_NULL ( ...)
Value:

Definition at line 862 of file msgque_overload_mq.h.

Function Documentation

◆ MqContextCreate_RT()

MQ_EXTERN MQ_CTX MqContextCreate_RT ( MK_RT const mkrt,
MK_TYP type,
MQ_CTX const tmpl )

create and initialize the MqContextC ...

This function is used to create a single new context… primary on the client. to create multiple new context on a server… a MqFactoryC is used.

The new instance belongs to the caller and may have to be released if necessary. A manual release using ContextDelete is always possible, but the instance can no longer be used afterwards.

Example from MyClient.py create a context using the static pymqmsgque CTOR

import sys
from pymqmsgque import *

ctx = MqContextC()
try:
  ctx.ConfigSetName("MyClient")
  ctx.LinkCreate(sys.argv)
  ctx.SendSTART()
  ctx.SendSTR("Hello")
  ctx.SendEND_AND_WAIT("HLWO")
  print(ctx.ReadSTR(), file=sys.stdout)
except Exception as ex:
  ctx.ErrorCatch(ex);
finally:
  ctx.Exit()
Parameters
[in]mkrtthe MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only)
[in]typetype type of the object like MqContextC_T or a new type created with MkTypeDup2. (default: None, reuse the MkTypeSTT from tmpl or use MqContextC_T if tmpl = None)
[in]tmplan other context-data-structure used as template to initialize the configuration data. This template is used for a child to get the configuration data from the parent. (default: None, create an initial context)
Returns
The newly created MqContextC instance, the instance is owned by the caller
See also
MqContextDelete, MqExit

◆ MqContextDelete_RT()

MQ_EXTERN void MqContextDelete_RT ( MK_RT const mkrt,
MQ_CTX ctx )

Destructor - delete a MqContextC instance …

Shutdown the client-server-link, free the memory and set the ctx to None. The context can not be reused.

Example from MyClient2.py delete a application-context using the pymqmsgque DTOR

import sys
from pymqmsgque import *
# create a context using the default CTOR
ctx = MqContextC()
try:
ctx.ConfigSetName("MyClient")
ctx.LinkCreate(sys.argv)
ctx.SendSTART()
ctx.SendSTR("Hello")
ctx.SendEND_AND_WAIT("HLWO")
print(ctx.ReadSTR(), file=sys.stdout)
except Exception as ex:
ctx.ErrorCatch(ex);
finally:
# delete context using the DTOR method "Delete"
ctx.Delete()
Parameters
[in]mkrtthe MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only)
[in]ctxthe MqContextS instance to work on
See also
MqContextCreate

◆ MqContextFree_RT()

MQ_EXTERN void MqContextFree_RT ( MK_RT const mkrt,
MQ_CTX const ctx )

free the MqContextC object related data but do not free the toplevel object self …

Shutdown the client-server-link and free the related memory. The toplevel object is still alive to give an existing Garbage-Collection the control when to delete the object. The context can not be reused.

◆ MqContextInit_RT()

MQ_EXTERN void MqContextInit_RT ( MK_RT const mkrt,
MQ_CTX const ctx,
MK_TYP type,
MQ_CTX const tmpl )

initialize the MqContextC object related data but do not create the object self

◆ MqContextSetup_RT()

MQ_EXTERN MQ_CTX MqContextSetup_RT ( MK_RT const mkrt,
MK_TYP type,
MQ_CTX const tmpl,
MQ_CTX * ctx_out )

same as MqContextCreate but use an already-existing instance of ctx_out

If *ctx_out is not null than MqContextSetup assume an allready-existing storage and ctx_out is only initialized.

Example
perfserver.c with factory support