void session_send_rpc_evt_to_thread_force (u32 thread_index, void *fp,
void *rpc_args);
transport_connection_t *session_get_transport (session_t * s);
-
+void session_get_endpoint (session_t * s, transport_endpoint_t * tep,
+ u8 is_lcl);
u8 *format_session (u8 * s, va_list * args);
uword unformat_session (unformat_input_t * input, va_list * args);
transport_max_rx_enqueue (transport_connection_t * tc)
{
session_t *s = session_get (tc->s_index, tc->thread_index);
- return svm_fifo_max_enqueue (s->rx_fifo);
+ return svm_fifo_max_enqueue_prod (s->rx_fifo);
}
always_inline u32
transport_max_tx_dequeue (transport_connection_t * tc)
{
session_t *s = session_get (tc->s_index, tc->thread_index);
- return svm_fifo_max_dequeue (s->tx_fifo);
+ return svm_fifo_max_dequeue_cons (s->tx_fifo);
}
always_inline u32
always_inline u64
listen_session_get_handle (session_t * s)
{
- ASSERT (s->session_state == SESSION_STATE_LISTENING);
+ ASSERT (s->session_state == SESSION_STATE_LISTENING ||
+ session_get_transport_proto (s) == TRANSPORT_PROTO_QUIC);
return session_handle (s);
}