+ echo_client_main_t *ecm = &echo_client_main;
+ session_t *sp;
+
+ sp = pool_elt_at_index (ecm->sessions,
+ s->server_rx_fifo->client_session_index);
+ receive_data_chunk (ecm, sp);
+
+ if (svm_fifo_max_dequeue (s->server_rx_fifo))
+ {
+ session_fifo_event_t evt;
+ svm_queue_t *q;
+ if (svm_fifo_set_event (s->server_rx_fifo))
+ {
+ evt.fifo = s->server_rx_fifo;
+ evt.event_type = FIFO_EVENT_BUILTIN_RX;
+ q = session_manager_get_vpp_event_queue (s->thread_index);
+ if (PREDICT_FALSE (q->cursize == q->maxsize))
+ clib_warning ("out of event queue space");
+ else if (svm_queue_add (q, (u8 *) & evt, 0))
+ clib_warning ("failed to enqueue self-tap");
+ }
+ }
+ return 0;
+}
+
+int
+echo_client_add_segment_callback (u32 client_index, const ssvm_private_t * sp)
+{
+ /* New heaps may be added */