From 2b81e3cba77e6427b47228318d55e40a859d02d1 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Wed, 27 Feb 2019 07:55:46 -0800 Subject: session: refactor local connects - Switches local connects to cut-thru transport - Removes local sessions as a separate session type Change-Id: I997c6355d8c8e4f2110678f785b0f5d96bba47f7 Signed-off-by: Florin Coras --- src/vnet/session/application_local.h | 55 +++++++++++------------------------- 1 file changed, 17 insertions(+), 38 deletions(-) (limited to 'src/vnet/session/application_local.h') diff --git a/src/vnet/session/application_local.h b/src/vnet/session/application_local.h index d54b5ebdb6a..5d6e6c1ec7b 100644 --- a/src/vnet/session/application_local.h +++ b/src/vnet/session/application_local.h @@ -18,46 +18,25 @@ #define SRC_VNET_SESSION_APPLICATION_LOCAL_H_ #include +#include -local_session_t *application_local_listen_session_alloc (application_t * app); -void application_local_listener_session_endpoint (session_t * ll, - session_endpoint_t * sep); - -local_session_t *app_worker_local_session_alloc (app_worker_t * app_wrk); -void app_worker_local_session_free (app_worker_t * app_wrk, - local_session_t * s); -local_session_t *app_worker_get_local_session (app_worker_t * app_wrk, - u32 session_index); -local_session_t *app_worker_get_local_session_from_handle (session_handle_t - handle); - -void app_worker_local_sessions_free (app_worker_t * app_wrk); -int app_worker_local_session_cleanup (app_worker_t * client_wrk, - app_worker_t * server_wrk, - local_session_t * ls); - -int app_worker_local_session_connect_notify (local_session_t * ls); -int app_worker_local_session_connect (app_worker_t * client, - app_worker_t * server, - session_t * ls, u32 opaque); -int app_worker_local_session_disconnect (u32 app_or_wrk, - local_session_t * ls); -int app_worker_local_session_disconnect_w_index (u32 app_or_wrk, - u32 ls_index); - -void app_worker_format_local_sessions (app_worker_t * app_wrk, int verbose); -void app_worker_format_local_connects (app_worker_t * app, int verbose); - -void mq_send_local_session_disconnected_cb (u32 app_or_wrk, - local_session_t * ls); - -always_inline u8 -application_local_session_listener_has_transport (local_session_t * ls) +typedef struct ct_connection_ { - transport_proto_t tp; - tp = session_type_transport_proto (ls->listener_session_type); - return (tp != TRANSPORT_PROTO_NONE); -} + transport_connection_t connection; + u32 client_wrk; + u32 server_wrk; + u32 transport_listener_index; + transport_proto_t actual_tp; + u64 server_evt_q; + u64 client_evt_q; + u32 client_opaque; + u32 peer_index; + u64 segment_handle; +} ct_connection_t; + +session_t *ct_session_get_peer (session_t * s); +void ct_session_endpoint (session_t * ll, session_endpoint_t * sep); +int ct_session_connect_notify (session_t * ls); #endif /* SRC_VNET_SESSION_APPLICATION_LOCAL_H_ */ -- cgit 1.2.3-korg