MqRuntimeS - the class known as rt or runtime is main pymqmsgque application environment … More...
Topics | |
MqRuntimeC_Class_C_API | |
MqRuntimeS - define the class … | |
MqRuntimeC_Class_Define_C_API | |
MqRuntimeS - low level definition, access and cast … | |
Data Structures | |
struct | MqRuntimeS |
Extend the MkRuntimeS wie pymqmsgque specific features … More... | |
Macros | |
#define | MQ_INSTANCE_RT_X(x) |
#define | MQ_INSTANCE_RT_XN(x) |
#define | MQ_INSTANCE_RT_O(o) |
#define | MQ_INSTANCE_RT_ON(o) |
#define | MQ_DESTRUCTOR_RT_X(c, x) |
#define | MQ_STATIC_RT MK_STATIC_RT ; MqRtSetup_NULL |
definition | |
use the thread-enabled-api by using the In a thread-environment (pymqmsgque is build with thread support) every thread has its own runtime. This runtime is created as T)hread-L)ocal-S)torage (TLS) and is available using the MkRt call. Using the MkRt call is an expensive task, because it is a function-call. Multiple usage of MkRt create multiple function-calls and this is expensive. To speed this up, two additional technologies are available: #1 the runtime is saved into the object of an instance at If pymqmsgque was not build with thread support than the API changes #1 the first argument "mkrt" is missing #2 the MkRt is always the fastest access to the runtime. To join the two different styles (with/without thread) into one API the MQ_RT_* style macros are available. The most important one is the MQ_RT_REF. The MQ_RT_REF always return a reference (not a pointer) to the runtime. The access-qualifier for a reference is "." and for a pointer is "->".
| |
#define | MQ_RT_IS_ARG |
#define | MQ_RT_ARGS_ONLY MK_RT mkrt, MQ_RT mqrt |
#define | MQ_RT_ARGS MQ_RT_ARGS_ONLY, |
#define | MQ_RT_CALL_ONLY mkrt, mqrt |
#define | MQ_RT_CALL MQ_RT_CALL_ONLY, |
#define | MQ_RT_PTR mqrt |
#define | MQ_RT_REF (*mqrt) |
MqRuntimeS - the class known as rt or runtime is main pymqmsgque application environment …
The runtime is automatically created as thread-local-storage at startup, so that each new thread receives a thread-specific runtime. Each instance on this thread has a link to the runtime it was created in:
MkOBJ_R(instance)
.runtimeThe runtime provide the following features:
#define MQ_DESTRUCTOR_RT_X | ( | c, | |
x ) |
Definition at line 226 of file LibMqMsgque_mq.h.
#define MQ_INSTANCE_RT_O | ( | o | ) |
Definition at line 224 of file LibMqMsgque_mq.h.
#define MQ_INSTANCE_RT_ON | ( | o | ) |
Definition at line 225 of file LibMqMsgque_mq.h.
#define MQ_INSTANCE_RT_X | ( | x | ) |
Definition at line 222 of file LibMqMsgque_mq.h.
#define MQ_INSTANCE_RT_XN | ( | x | ) |
Definition at line 223 of file LibMqMsgque_mq.h.
#define MQ_RT_ARGS MQ_RT_ARGS_ONLY, |
Definition at line 206 of file LibMqMsgque_mq.h.
Definition at line 205 of file LibMqMsgque_mq.h.
#define MQ_RT_CALL MQ_RT_CALL_ONLY, |
Definition at line 208 of file LibMqMsgque_mq.h.
#define MQ_RT_CALL_ONLY mkrt, mqrt |
Definition at line 207 of file LibMqMsgque_mq.h.
#define MQ_RT_IS_ARG |
Definition at line 204 of file LibMqMsgque_mq.h.
#define MQ_RT_PTR mqrt |
Definition at line 209 of file LibMqMsgque_mq.h.
#define MQ_RT_REF (*mqrt) |
Definition at line 210 of file LibMqMsgque_mq.h.
#define MQ_STATIC_RT MK_STATIC_RT ; MqRtSetup_NULL |
Definition at line 227 of file LibMqMsgque_mq.h.