Improve fifo allocator performance
[vpp.git] / src / vnet / session / session.h
index efb9e30..a872864 100644 (file)
@@ -125,14 +125,11 @@ typedef struct _stream_session_t
 
   u8 thread_index;
 
-  /** used during unbind processing */
-  u8 is_deleted;
-
   /** To avoid n**2 "one event per frame" check */
   u8 enqueue_epoch;
 
   /** Pad to a multiple of 8 octets */
-  u8 align_pad[2];
+  u8 align_pad[4];
 
   /** svm segment index where fifos were allocated */
   u32 svm_segment_index;
@@ -197,14 +194,17 @@ struct _session_manager_main
   u32 **tx_buffers;
 
   /** Per worker-thread vector of partially read events */
-  session_fifo_event_t **evts_partially_read;
+  session_fifo_event_t **free_event_vector;
 
   /** per-worker active event vectors */
-  session_fifo_event_t **fifo_events;
+  session_fifo_event_t **pending_event_vector;
 
   /** vpp fifo event queue */
   unix_shared_memory_queue_t **vpp_event_queues;
 
+  /** vpp fifo event queue configured length */
+  u32 configured_event_queue_length;
+
   /** Unique segment name counter */
   u32 unique_segment_name_counter;
 
@@ -390,6 +390,10 @@ void session_send_session_evt_to_thread (u64 session_handle,
                                         fifo_event_type_t evt_type,
                                         u32 thread_index);
 u8 *format_stream_session (u8 * s, va_list * args);
+int
+send_session_connected_callback (u32 app_index, u32 api_context,
+                                stream_session_t * s, u8 is_fail);
+
 
 void session_register_transport (u8 type, const transport_proto_vft_t * vft);
 transport_proto_vft_t *session_get_transport_vft (u8 type);