Direct Access Transport Library Functions dat_srq_query(3DAT)
NAME
dat_srq_query - provide parameters of the shared receive
queueSYNOPSIS
cc [ flag... ] file... -ldat [ library... ]
#include
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 struc-
ture 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 forthe 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
SunOS 5.11 Last change: 16 Jul 2004 1
Direct Access Transport Library Functions dat_srq_query(3DAT)
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 out-
standing Recv of SRQ or available Recvs of SRQ. The Provider attribute indicates if the Provider does not support thequery for one or these values. Even when the Provider sup-
ports the query for one or both of these values, it might not be able to provide this value at this moment. In eithercase, the return value for the attribute that cannot be pro-
vided 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.
SunOS 5.11 Last change: 16 Jul 2004 2
Direct Access Transport Library Functions dat_srq_query(3DAT)
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 valuereturn for that attribute should be DAT_VALUE_UNKNOWN.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Unsafe |
|_____________________________|_____________________________|
| Standard | uDAPL, 1.2 ||_____________________________|_____________________________|
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(5)
SunOS 5.11 Last change: 16 Jul 2004 3