1dat_srq_query(3DAT)Direct Access Transport Library Functionsdat_srq_query(3DAT)
2
3
4
6 dat_srq_query - provide parameters of the shared receive queue
7
9 cc [ flag... ] file... -ldat [ library... ]
10 #include <dat/udat.h>
11
12 DAT_RETURN
13 dat_srq_query (
14 IN DAT_SRQ_HANDLE srq_handle,
15 IN DAT_SRQ_PARAM_MASK srq_param_mask,
16 OUT DAT_SRQ_PARAM *srq_param
17 )
18
19
21 srq_handle A handle for an instance of the SRQ.
22
23
24 srq_param_mask The mask for SRQ parameters.
25
26
27 srq_param A pointer to a Consumer-allocated structure that the
28 Provider fills with SRQ parameters.
29
30
32 The dat_srq_query() function provides to the Consumer SRQ parameters.
33 The Consumer passes a pointer to the Consumer-allocated structures for
34 SRQ parameters that the Provider fills.
35
36
37 The srq_param_mask argument allows Consumers to specify which parame‐
38 ters to query. The Provider returns values for the requested
39 srq_param_mask parameters. The Provider can return values for any other
40 parameters.
41
42
43 In addition to the elements in SRQ attribute, dat_srq_query() provides
44 additional information in the srq_param structure if Consumer requests
45 it with srq_param_mask settings. The two that are related to entry
46 counts on SRQ are the number of Receive buffers (available_dto_count)
47 available for EPs to dequeue and the number of occupied SRQ entries
48 (outstanding_dto_count) not available for new Recv buffer postings.
49
51 DAT_SUCCESS The operation was successful.
52
53
54 DAT_INVALID_PARAMETER The srq_param_mask argument is invalid.
55
56
57 DAT_INVALID_HANDLE The srq_handle argument is an invalid DAT han‐
58 dle.
59
60
62 The Provider might not be able to provide the number of outstanding
63 Recv of SRQ or available Recvs of SRQ. The Provider attribute indicates
64 if the Provider does not support the query for one or these values.
65 Even when the Provider supports the query for one or both of these val‐
66 ues, it might not be able to provide this value at this moment. In
67 either case, the return value for the attribute that cannot be provided
68 will be DAT_VALUE_UNKNOWN.
69
70
71 Example: Consumer created SRQ with 10 entries and associated 1 EP with
72 it. 3 Recv buffers have been posted to it. The query will report:
73
74 max_recv_dtos=10,
75 available_dto_count=3,
76 outstanding_dto_count=3.
77
78
79
80
81 After a Send message arrival the query will report:
82
83 max_recv_dtos=10,
84 available_dto_count=2,
85 outstanding_dto_count=3.
86
87
88
89
90 After Consumer dequeues Recv completion the query will report:
91
92 max_recv_dtos=10,
93 available_dto_count=2,
94 outstanding_dto_count=2.
95
96
97
98
99 In general, each EP associated with SRQ can have multiple buffers in
100 progress of receiving messages as well completed Recv on EVDs. The
101 watermark setting helps to control how many Recv buffers posted to SRQ
102 an Endpoint can own.
103
104
105 If the Provider cannot support the query for the number of outstanding
106 Recv of SRQ or available Recvs of SRQ, the value return for that
107 attribute should be DAT_VALUE_UNKNOWN.
108
110 See attributes(5) for descriptions of the following attributes:
111
112
113
114
115 ┌─────────────────────────────┬─────────────────────────────┐
116 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
117 ├─────────────────────────────┼─────────────────────────────┤
118 │Interface Stability │Standard: uDAPL, 1.2 │
119 ├─────────────────────────────┼─────────────────────────────┤
120 │MT-Level │Unsafe │
121 └─────────────────────────────┴─────────────────────────────┘
122
124 dat_srq_create(3DAT), dat_srq_free(3DAT), dat_srq_post_recv(3DAT),
125 dat_srq_resize(3DAT), dat_srq_set_lw(3DAT), libdat(3LIB), attributes(5)
126
127
128
129SunOS 5.11 16 Jul 2004 dat_srq_query(3DAT)