MkRuntimeC - The class known as mkrt or runtime is the main ccmkkernel application environment … More...
Collaboration diagram for MkRuntimeC_CC_API:Topics | |
| MkRuntimeC_Class_CC_API | |
| MkRuntimeC_Config_CC_API | |
| MkRuntimeC - various functions to configure the MkRuntimeRLS (only C) … | |
| MkRuntimeC_Info_CC_API | |
| MkRuntimeC - various functions to print information about the rt … | |
Classes | |
| struct | ccmkkernel::MkRuntimeC_A |
| The MkRuntimeS provide a per-thread environment for ccmkkernel … → C-API: libmkkernel::MkRuntimeS More... | |
| class | ccmkkernel::MkRuntimeC |
| The MkRuntimeS provide a per-thread environment for ccmkkernel … → C-API: libmkkernel::MkRuntimeS More... | |
Functions | |
| ccmkkernel::MkRuntimeC::MkRuntimeC (MK_RT hdl) | |
| static MkRuntimeC * | ccmkkernel::MkRuntimeC::MkRuntimeC_ObjNew (MK_RT_ARGS MK_RT hdl) |
| return MkRuntimeC from LibMsgqueObject | |
| MK_RT | ccmkkernel::MkRuntimeC::getRT () const |
| return the LibMsgqueObject from current MkRuntimeC instance | |
| MK_RT | ccmkkernel::MkRuntimeC::getRT__null_allow () const |
| return the LibMsgqueObject from current MkRuntimeC instance | |
| MK_RTN | ccmkkernel::MkRuntimeC::getRTN () const |
| (const) return the LibMsgqueObject from current MkRuntimeC instance | |
| MK_RTN | ccmkkernel::MkRuntimeC::getRTN__null_allow () const |
| (const) return the LibMsgqueObject from current MkRuntimeC instance | |
| static MK_RT | ccmkkernel::MkRuntimeC::getRT (MkRuntimeC *clsHdl) |
| return LibMsgqueObject from current MkRuntimeC pointer | |
| static MK_RT | ccmkkernel::MkRuntimeC::getRT__null_allow (MkRuntimeC *clsHdl) |
| return LibMsgqueObject from current MkRuntimeC pointer | |
| static MK_RTN | ccmkkernel::MkRuntimeC::getRTN (const MkRuntimeC *clsHdl) |
| (const) return LibMsgqueObject from current MkRuntimeC pointer | |
| static MK_RTN | ccmkkernel::MkRuntimeC::getRTN__null_allow (const MkRuntimeC *clsHdl) |
| (const) return LibMsgqueObject from current MkRuntimeC pointer | |
| static MK_RT | ccmkkernel::MkRuntimeC::getRT (const MkRuntimeC &clsHdl) |
| return LibMsgqueObject from current MkRuntimeC reference | |
| static MK_RT | ccmkkernel::MkRuntimeC::getRT__null_allow (const MkRuntimeC &clsHdl) |
| return LibMsgqueObject from current MkRuntimeC reference | |
| static MK_RTN | ccmkkernel::MkRuntimeC::getRTN (const MkRuntimeC &clsHdl) |
| (const) return LibMsgqueObject from current MkRuntimeC reference | |
| static MK_RTN | ccmkkernel::MkRuntimeC::getRTN__null_allow (const MkRuntimeC &clsHdl) |
| (const) return LibMsgqueObject from current MkRuntimeC reference | |
| bool | ccmkkernel::MkRuntimeC::Check () const |
| check if pointer is still valid | |
Variables | |
| static thread_local MkRuntimeC | ccmkkernel::MkRuntimeC::MK_NULL_REF = {(MK_OBJ)0} |
MkRuntimeC - The class known as mkrt or runtime is the main ccmkkernel 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 of the thread has a link to the runtime it was created in:
--enable-thread configure option of Nhi1Config The goal of the runtime-interface is to provide the best performance for thread and non-thread.
configure --enable-threads .... configure --disable-threads .... MK_RT_*, MkRt* or MkRT* macros. MkThreadLocal struct MkRuntimeS MkRuntimeRLS = {0};. (&MkRuntimeRLS) __thread with thread-support and otherwise to empty. MkRtSetup_xxx call after the thread-creation.Always use the
MK_RT_xxxandMkRtSetup_xxxmacros to get best performane to access the MkRuntimeRLS. Summary: Internal access to the MkRuntimeRLS
threaded storage resolve access MkRtSetup_xxxspeed yes thread-local-storage run-time cache via mkrt fast enough but slower than non-thread no application-global-storage compile-time direct via MkRT fast
The local-cache is only required for a threaded-environment and is defined internal as mkrt variable initialized with a pointer to the MkRuntimeRLS.
do NOT use the mkrt direct because your code will NOT compile in a non-thread environment.
In a runtime-aware function the local-cache is always as first argument in the function.
In a non-runtime-aware method the local-cache is created using the instance-argument:
In a non-runtime-aware static-function the local-cache is created using TLS direct:
In a non-runtime-aware static-function with instance-argument the local-cache is created using instArg:
Summary: In a non-runtime-aware function use the instance to setup the cache-access otherwise MkRtSetup_NULL:
| source | local-cache is created with | example | speed |
|---|---|---|---|
| instance | MkRtSetup_O , MkRtSetup_X | MkRtSetup_X(instance) | fast |
| runtime | MkRtSetup_NULL | MkRtSetup_NULL | slow in non-static |
| access as | macro | threaded | nothreaded | example | speed |
|---|---|---|---|---|---|
| reference | MK_RT_REF | (*mkrt) | MkRuntimeRLS | MK_RT_REF.debug | fast if static |
| pointer | MK_RT_PTR | mkrt | (&MkRuntimeRLS) | MK_RT_PTR->debug | slow |
| args | function definition | function parser extension | function call |
|---|---|---|---|
| multiple args | MK_RT_ARGS | MK_PARSER_RT | MK_RT_CALL |
| no args | MK_RT_ARGS_ONLY | MK_PARSER_RT_ONLY | MK_RT_CALL_ONLY |
MK_RT_ARGS... and MK_RT_CALL... and the first argument is no comma.libmkkernel is mk,Mk,MK libmqmsgque is mq,Mq,MQ liblcconfig is lc,Lc,LC libsq3lite is sq3,Sq3,SQ3
|
inline |
check if pointer is still valid
Definition at line 152 of file MkRuntimeC_cc.hh.
|
inline |
return the LibMsgqueObject from current MkRuntimeC instance
Definition at line 84 of file MkRuntimeC_cc.hh.
Here is the caller graph for this function:
|
inlinestatic |
return LibMsgqueObject from current MkRuntimeC reference
Definition at line 132 of file MkRuntimeC_cc.hh.
|
inlinestatic |
return LibMsgqueObject from current MkRuntimeC pointer
Definition at line 108 of file MkRuntimeC_cc.hh.
|
inline |
return the LibMsgqueObject from current MkRuntimeC instance
Definition at line 91 of file MkRuntimeC_cc.hh.
Here is the caller graph for this function:
|
inlinestatic |
return LibMsgqueObject from current MkRuntimeC reference
Definition at line 137 of file MkRuntimeC_cc.hh.
|
inlinestatic |
return LibMsgqueObject from current MkRuntimeC pointer
Definition at line 115 of file MkRuntimeC_cc.hh.
|
inline |
(const) return the LibMsgqueObject from current MkRuntimeC instance
Definition at line 96 of file MkRuntimeC_cc.hh.
Here is the caller graph for this function:
|
inlinestatic |
(const) return LibMsgqueObject from current MkRuntimeC reference
Definition at line 142 of file MkRuntimeC_cc.hh.
|
inlinestatic |
(const) return LibMsgqueObject from current MkRuntimeC pointer
Definition at line 120 of file MkRuntimeC_cc.hh.
|
inline |
(const) return the LibMsgqueObject from current MkRuntimeC instance
Definition at line 103 of file MkRuntimeC_cc.hh.
Here is the caller graph for this function:
|
inlinestatic |
(const) return LibMsgqueObject from current MkRuntimeC reference
Definition at line 147 of file MkRuntimeC_cc.hh.
|
inlinestatic |
(const) return LibMsgqueObject from current MkRuntimeC pointer
Definition at line 127 of file MkRuntimeC_cc.hh.
|
inline |
Definition at line 75 of file MkRuntimeC_cc.hh.
|
inlinestatic |
return MkRuntimeC from LibMsgqueObject
Definition at line 79 of file MkRuntimeC_cc.hh.
|
static |
Definition at line 36 of file MkRuntimeC_cc.hh.