dm_mqueue_read Interface

public interface dm_mqueue_read

Generic message queue read function.


Module Procedures

private function mqueue_read_log(mqueue, log, timeout) result(rc)

Receives log from message queue. The received message shall not be larger than parameter LOG_SIZE. Returns E_MQUEUE on error.

Arguments

Type IntentOptional 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.

Return Value integer

private function mqueue_read_observ(mqueue, observ, timeout) result(rc)

Receives observation from message queue. The received message shall not be larger than parameter OBSERV_SIZE. Returns E_MQUEUE on error.

Arguments

Type IntentOptional 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.

Return Value integer

private function mqueue_read_raw(mqueue, buffer, priority, timeout) result(rc)

Receives message from message queue and returns data in buffer. The buffer size must equal the message size. Returns E_MQUEUE on error.

Arguments

Type IntentOptional 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.

Return Value integer