From 1553197f9a1a3258b6954adeb9536bbe0191683d Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Sun, 12 Aug 2018 23:50:53 -0700 Subject: session: add support for multiple app workers Refactor session layer to support multiple workers per application. Change-Id: Ie67354688d396449d14bbbb8c56050206e307cd8 Signed-off-by: Florin Coras --- src/vnet/session/application_interface.h | 37 +++++++++++--------------------- 1 file changed, 13 insertions(+), 24 deletions(-) (limited to 'src/vnet/session/application_interface.h') diff --git a/src/vnet/session/application_interface.h b/src/vnet/session/application_interface.h index ba6d2660d7f..13ec73adf0f 100644 --- a/src/vnet/session/application_interface.h +++ b/src/vnet/session/application_interface.h @@ -23,27 +23,11 @@ typedef struct _vnet_app_attach_args_t { - /** Binary API client index */ - u32 api_client_index; - - /** Application name. Used by builtin apps */ - u8 *name; - - /** Application and segment manager options */ - u64 *options; - - /** ID of the namespace the app has access to */ - u8 *namespace_id; - - /** Session to application callback functions */ - session_cb_vft_t *session_cb_vft; - - /* - * Results - */ - ssvm_private_t *segment; +#define _(_type, _name) _type _name; + foreach_app_init_args +#undef _ + ssvm_private_t * segment; svm_msg_q_t *app_evt_q; - u32 app_index; } vnet_app_attach_args_t; typedef struct _vnet_app_detach_args_t @@ -55,11 +39,13 @@ typedef struct _vnet_bind_args_t { union { - char *uri; + session_endpoint_extended_t sep_ext; session_endpoint_t sep; + char *uri; }; u32 app_index; + u32 wrk_map_index; /* * Results @@ -75,19 +61,22 @@ typedef struct _vnet_unbind_args_t union { char *uri; - u64 handle; + u64 handle; /**< Session handle */ }; - u32 app_index; + u32 app_index; /**< Owning application index */ + u32 app_wrk_index; /**< App's local pool worker index */ } vnet_unbind_args_t; typedef struct _vnet_connect_args { union { + session_endpoint_extended_t sep_ext; + session_endpoint_t sep; char *uri; - session_endpoint_extended_t sep; }; u32 app_index; + u32 wrk_map_index; u32 api_context; session_handle_t session_handle; -- cgit 1.2.3-korg