session: segment manager refactor
[vpp.git] / src / vnet / session / application.h
index 94a4e25..36ae6fc 100644 (file)
@@ -30,8 +30,8 @@ typedef enum
 typedef struct _stream_session_cb_vft
 {
   /** Notify server of new segment */
-  int (*add_segment_callback) (u32 api_client_index, const u8 * seg_name,
-                              u32 seg_size);
+  int (*add_segment_callback) (u32 api_client_index,
+                              const ssvm_private_t * ssvm_seg);
 
   /** Notify server of newly accepted session */
   int (*session_accept_callback) (stream_session_t * new_session);
@@ -72,7 +72,7 @@ typedef struct _application
   u32 ns_index;
 
   /** Application listens for events on this svm queue */
-  unix_shared_memory_queue_t *event_queue;
+  svm_queue_t *event_queue;
 
   /*
    * Callbacks: shoulder-taps for the server/client
@@ -132,7 +132,7 @@ segment_manager_t *application_get_connect_segment_manager (application_t *
 int application_is_proxy (application_t * app);
 int application_is_builtin (application_t * app);
 int application_is_builtin_proxy (application_t * app);
-int application_add_segment_notify (u32 app_index, u32 fifo_segment_index);
+int application_add_segment_notify (u32 app_index, ssvm_private_t * fs);
 u32 application_session_table (application_t * app, u8 fib_proto);
 u32 application_local_session_table (application_t * app);
 u8 *application_name_from_index (u32 app_index);
@@ -146,6 +146,11 @@ stream_session_t *application_first_listener (application_t * app,
 void application_setup_proxy (application_t * app);
 void application_remove_proxy (application_t * app);
 
+segment_manager_properties_t *application_get_segment_manager_properties (u32
+                                                                         app_index);
+segment_manager_properties_t
+  * application_segment_manager_properties (application_t * app);
+
 #endif /* SRC_VNET_SESSION_APPLICATION_H_ */
 
 /*