Generic message queue read function.
Receives log from message queue. The received message shall not be
larger than parameter LOG_TYPE_SIZE
.
The function returns the following error codes:
E_EMPTY
if the message queue is empty (non-blocking).E_INVALID
if buffer is less than specified message size.E_LIMIT
if buffer is too small for message.E_MQUEUE
if system call to receive message failed.E_SYSTEM
if system call to get time failed.E_TIMEOUT
if an timeout occured.Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mqueue_type), | intent(inout) | :: | mqueue |
Message queue type. |
||
type(log_type), | intent(out) | :: | log |
Log type. |
||
integer(kind=i8), | intent(in), | optional | :: | timeout |
Timeout in seconds. |
Receives observation from message queue. The received message shall
not be larger than parameter OBSERV_TYPE_SIZE
.
The function returns the following error codes:
E_EMPTY
if the message queue is empty (non-blocking).E_INVALID
if buffer is less than specified message size.E_LIMIT
if buffer is too small for message.E_MQUEUE
if system call to receive message failed.E_SYSTEM
if system call to get time failed.E_TIMEOUT
if an timeout occured.Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mqueue_type), | intent(inout) | :: | mqueue |
Message queue type. |
||
type(observ_type), | intent(out) | :: | observ |
Observation type. |
||
integer(kind=i8), | intent(in), | optional | :: | timeout |
Timeout in seconds. |
Receives message from message queue and returns data in buffer
.
The buffer size must equal the message size.
The function returns the following error codes:
E_EMPTY
if the message queue is empty (non-blocking).E_INVALID
if buffer is less than specified message size.E_LIMIT
if buffer is too small for message.E_MQUEUE
if system call to receive message failed.E_SYSTEM
if system call to get time failed.E_TIMEOUT
if an timeout occured.Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mqueue_type), | intent(inout) | :: | mqueue |
Message queue type. |
||
character(len=*), | intent(inout) | :: | buffer |
Byte buffer. |
||
integer, | intent(out), | optional | :: | priority |
Message priority. |
|
integer(kind=i8), | intent(in), | optional | :: | timeout |
Timeout in seconds. |