DAT_SRQ_QUERY(3DAT) Direct Access Transport Library Functions

NAME


dat_srq_query - provide parameters of the shared receive queue

SYNOPSIS


cc [ flag... ] file... -ldat [ library... ]
#include <dat/udat.h>

DAT_RETURN
dat_srq_query (
IN DAT_SRQ_HANDLE srq_handle,
IN DAT_SRQ_PARAM_MASK srq_param_mask,
OUT DAT_SRQ_PARAM *srq_param
)


PARAMETERS


srq_handle
A handle for an instance of the SRQ.


srq_param_mask
The mask for SRQ parameters.


srq_param
A pointer to a Consumer-allocated structure that
the Provider fills with SRQ parameters.


DESCRIPTION


The dat_srq_query() function provides to the Consumer SRQ parameters.
The Consumer passes a pointer to the Consumer-allocated structures
for SRQ parameters that the Provider fills.


The srq_param_mask argument allows Consumers to specify which
parameters to query. The Provider returns values for the requested
srq_param_mask parameters. The Provider can return values for any
other parameters.


In addition to the elements in SRQ attribute, dat_srq_query()
provides additional information in the srq_param structure if
Consumer requests it with srq_param_mask settings. The two that are
related to entry counts on SRQ are the number of Receive buffers
(available_dto_count) available for EPs to dequeue and the number of
occupied SRQ entries (outstanding_dto_count) not available for new
Recv buffer postings.

RETURN VALUES


DAT_SUCCESS
The operation was successful.


DAT_INVALID_PARAMETER
The srq_param_mask argument is invalid.


DAT_INVALID_HANDLE
The srq_handle argument is an invalid DAT
handle.


USAGE


The Provider might not be able to provide the number of outstanding
Recv of SRQ or available Recvs of SRQ. The Provider attribute
indicates if the Provider does not support the query for one or these
values. Even when the Provider supports the query for one or both of
these values, it might not be able to provide this value at this
moment. In either case, the return value for the attribute that
cannot be provided will be DAT_VALUE_UNKNOWN.


Example: Consumer created SRQ with 10 entries and associated 1 EP
with it. 3 Recv buffers have been posted to it. The query will
report:

max_recv_dtos=10,
available_dto_count=3,
outstanding_dto_count=3.


After a Send message arrival the query will report:

max_recv_dtos=10,
available_dto_count=2,
outstanding_dto_count=3.


After Consumer dequeues Recv completion the query will report:

max_recv_dtos=10,
available_dto_count=2,
outstanding_dto_count=2.


In general, each EP associated with SRQ can have multiple buffers in
progress of receiving messages as well completed Recv on EVDs. The
watermark setting helps to control how many Recv buffers posted to
SRQ an Endpoint can own.


If the Provider cannot support the query for the number of
outstanding Recv of SRQ or available Recvs of SRQ, the value return
for that attribute should be DAT_VALUE_UNKNOWN.

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+----------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+----------------------+
|Interface Stability | Standard: uDAPL, 1.2 |
+--------------------+----------------------+
|MT-Level | Unsafe |
+--------------------+----------------------+

SEE ALSO


dat_srq_create(3DAT), dat_srq_free(3DAT), dat_srq_post_recv(3DAT),
dat_srq_resize(3DAT), dat_srq_set_lw(3DAT), libdat(3LIB),
attributes(7)

July 16, 2004 DAT_SRQ_QUERY(3DAT)

tribblix@gmail.com :: GitHub :: Privacy