MCPcopy Create free account
hub / github.com/F-Stack/f-stack / test_ring_dequeue

Function test_ring_dequeue

dpdk/app/test/test_ring.h:161–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159}
160
161static inline unsigned int
162test_ring_dequeue(struct rte_ring *r, void **obj, int esize, unsigned int n,
163 unsigned int api_type)
164{
165 /* Legacy queue APIs? */
166 if (esize == -1)
167 switch (api_type) {
168 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_SINGLE):
169 return rte_ring_dequeue(r, obj);
170 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_SINGLE):
171 return rte_ring_sc_dequeue(r, obj);
172 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_SINGLE):
173 return rte_ring_mc_dequeue(r, obj);
174 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BULK):
175 return rte_ring_dequeue_bulk(r, obj, n, NULL);
176 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BULK):
177 return rte_ring_sc_dequeue_bulk(r, obj, n, NULL);
178 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BULK):
179 return rte_ring_mc_dequeue_bulk(r, obj, n, NULL);
180 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BURST):
181 return rte_ring_dequeue_burst(r, obj, n, NULL);
182 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BURST):
183 return rte_ring_sc_dequeue_burst(r, obj, n, NULL);
184 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BURST):
185 return rte_ring_mc_dequeue_burst(r, obj, n, NULL);
186 default:
187 printf("Invalid API type\n");
188 return 0;
189 }
190 else
191 switch (api_type) {
192 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_SINGLE):
193 return rte_ring_dequeue_elem(r, obj, esize);
194 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_SINGLE):
195 return rte_ring_sc_dequeue_elem(r, obj, esize);
196 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_SINGLE):
197 return rte_ring_mc_dequeue_elem(r, obj, esize);
198 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BULK):
199 return rte_ring_dequeue_bulk_elem(r, obj, esize,
200 n, NULL);
201 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BULK):
202 return rte_ring_sc_dequeue_bulk_elem(r, obj, esize,
203 n, NULL);
204 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BULK):
205 return rte_ring_mc_dequeue_bulk_elem(r, obj, esize,
206 n, NULL);
207 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BURST):
208 return rte_ring_dequeue_burst_elem(r, obj, esize,
209 n, NULL);
210 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BURST):
211 return rte_ring_sc_dequeue_burst_elem(r, obj, esize,
212 n, NULL);
213 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BURST):
214 return rte_ring_mc_dequeue_burst_elem(r, obj, esize,
215 n, NULL);
216 default:
217 printf("Invalid API type\n");
218 return 0;

Callers 7

test_empty_dequeueFunction · 0.85
load_loop_fn_helperFunction · 0.85
test_ring_basic_exFunction · 0.85

Calls 15

rte_ring_dequeueFunction · 0.85
rte_ring_sc_dequeueFunction · 0.85
rte_ring_mc_dequeueFunction · 0.85
rte_ring_dequeue_bulkFunction · 0.85
rte_ring_sc_dequeue_bulkFunction · 0.85
rte_ring_mc_dequeue_bulkFunction · 0.85
rte_ring_dequeue_burstFunction · 0.85
rte_ring_dequeue_elemFunction · 0.85
rte_ring_sc_dequeue_elemFunction · 0.85
rte_ring_mc_dequeue_elemFunction · 0.85

Tested by

no test coverage detected