MqMsgque PACKAGE - the L)anguage A)bstraction L)ayer definition … More...
Data Structures | |
struct | MqSysServerThreadMainS |
data used to initialize a new created thread … More... | |
struct | MqLalS |
Interface between MqContextS and the Operating-System … More... | |
Typedefs | |
typedef int(* | MqSysSelectF) (int max, void *read, void *write, void *except, struct timeval *timeout) |
select syscall … | |
typedef enum MkErrorE(* | MqSysServerSpawnF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, char *const *argv, MK_STRN name, struct MkIdS *idPtrOut) |
spawn server create syscall with libmqmsgque error plugin | |
typedef enum MkErrorE(* | MqSysServerThreadF) (MK_RT mkrt, MQ_CTX const ctx, struct MqSysServerThreadMainS *const argP, MK_STRN name, int state, struct MkIdS *idPtrOut) |
thread server create syscall with libmqmsgque error plugin | |
typedef enum MkErrorE(* | MqSysServerForkF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, MQ_FCT factory, MK_BFL *argsP, MK_STRN name, MQ_SOCK_HDL socket, struct MkIdS *idPtrOut) |
fork server create syscall with libmqmsgque error plugin | |
Functions | |
void | MqSysServerThreadMain (struct MqSysServerThreadMainS *data) |
initialize a new thread … | |
Variables | |
struct MqLalS | MqLal |
Language Abstraction Layer in duty. | |
MqMsgque PACKAGE - the L)anguage A)bstraction L)ayer definition …
The LAL is required to give the target of embedding a change to modify the access to system functions. RUBY for example has it's own Thread-Creation function.
All wrappers to access the underlying OS,Languages and system functions are located in this section. Every external Function has additional code to map the OS/System specific error codes/messages into a libmqmsgque specific error codes/messages
typedef int(* MqSysSelectF) (int max, void *read, void *write, void *except, struct timeval *timeout) |
select syscall …
read more at: man 2 select
[in] | max | the maximum file descriptor + 1 from the read, write or except input data |
[in] | read | set of file descriptors |
[in] | write | set of file descriptors |
[in] | except | set of file descriptors |
[in] | timeout | maximum time to wait for data |
Definition at line 2636 of file LibMqMsgque_mq.h.
typedef enum MkErrorE(* MqSysServerForkF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, MQ_FCT factory, MK_BFL *argsP, MK_STRN name, MQ_SOCK_HDL socket, struct MkIdS *idPtrOut) |
fork server create syscall with libmqmsgque error plugin
[in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
[in] | mqrt | the MqRuntimeS instance to work on - the runtime argument, used by MQ_RT_CALL (C-only) |
[in] | ctx | the MqContextS instance to work on |
[in,out] | factory | server configuration (memory will be freed) |
[in] | argsP | command-line arguments before MK_ALFA, owned by SysServerThread |
[in] | name | the name of the thread |
[in] | socket | the name of the socket the ne FORK have to listen |
[out] | idPtrOut | the process identifier, pointer is not MK_NULL |
Example:
Definition at line 2677 of file LibMqMsgque_mq.h.
typedef enum MkErrorE(* MqSysServerSpawnF) (MK_RT mkrt, MQ_RT mqrt, MQ_CTX const ctx, char *const *argv, MK_STRN name, struct MkIdS *idPtrOut) |
spawn server create syscall with libmqmsgque error plugin
[in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
[in] | mqrt | the MqRuntimeS instance to work on - the runtime argument, used by MQ_RT_CALL (C-only) |
[in] | ctx | the MqContextS instance to work on |
[in] | argv | command-line arguments |
[in] | name | the name of the process |
[out] | idPtrOut | the process identifier, pointer is not MK_NULL |
Example:
Definition at line 2677 of file LibMqMsgque_mq.h.
typedef enum MkErrorE(* MqSysServerThreadF) (MK_RT mkrt, MQ_CTX const ctx, struct MqSysServerThreadMainS *const argP, MK_STRN name, int state, struct MkIdS *idPtrOut) |
thread server create syscall with libmqmsgque error plugin
[in] | mkrt | the MkRuntimeS instance to work on - the runtime argument, used by MK_RT_CALL (C-only) |
[in] | ctx | the MqContextS instance to work on |
[in] | argP | thread startup environment |
[in] | name | the name of the thread |
[in] | state | state of the thread PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE |
[out] | idPtrOut | the thread identifier, pointer is not MK_NULL |
Example:
Definition at line 2677 of file LibMqMsgque_mq.h.
void MqSysServerThreadMain | ( | struct MqSysServerThreadMainS * | data | ) |
initialize a new thread …
A libmqmsgque thread can be created with the MqLalS::MqSysServerThreadCB "included" or by a new target-language-specific MqLalS::MqSysServerThreadCB. If a target-language-specific MqLalS::MqSysServerThreadCB is used, it is required to call the LibMqMsgque MqSysServerThreadMain to initialize the new thread proper.
[in] | data | configuration data for the new thread |
|
extern |
Language Abstraction Layer in duty.