hsa: refactor proxy session lookup and cleanup
[vpp.git] / src / plugins / hs_apps / proxy.h
index aef23e1..4b4c7c0 100644 (file)
@@ -36,54 +36,40 @@ typedef struct
   volatile int active_open_establishing;
   volatile int po_disconnected;
   volatile int ao_disconnected;
+
+  u32 ps_index;
 } proxy_session_t;
 
 typedef struct
 {
-  svm_queue_t *vl_input_queue; /**< vpe input queue */
-  /** per-thread vectors */
-  svm_msg_q_t **server_event_queue;
-  svm_msg_q_t **active_open_event_queue;
+  proxy_session_t *sessions;           /**< session pool, shared */
+  clib_spinlock_t sessions_lock;       /**< lock for session pool */
   u8 **rx_buf;                         /**< intermediate rx buffers */
 
-  u32 cli_node_index;                  /**< cli process node index */
   u32 server_client_index;             /**< server API client handle */
   u32 server_app_index;                        /**< server app index */
   u32 active_open_client_index;                /**< active open API client handle */
   u32 active_open_app_index;           /**< active open index after attach */
-
-  uword *proxy_session_by_server_handle;
-  uword *proxy_session_by_active_open_handle;
+  u32 ckpair_index;                    /**< certkey pair index for tls */
 
   /*
    * Configuration params
    */
-  u8 *connect_uri;                     /**< URI for slave's connect */
-  u32 configured_segment_size;
   u32 fifo_size;                       /**< initial fifo size */
   u32 max_fifo_size;                   /**< max fifo size */
   u8 high_watermark;                   /**< high watermark (%) */
   u8 low_watermark;                    /**< low watermark (%) */
   u32 private_segment_count;           /**< Number of private fifo segs */
   u32 private_segment_size;            /**< size of private fifo segs */
+  u8 prealloc_fifos;                   /**< Request fifo preallocation */
   int rcv_buffer_size;
   session_endpoint_cfg_t server_sep;
   session_endpoint_cfg_t client_sep;
 
-  u32 ckpair_index;
-  /*
-   * Test state variables
-   */
-  proxy_session_t *sessions;           /**< Session pool, shared */
-  clib_spinlock_t sessions_lock;
-  u32 **connection_index_by_thread;
-  pthread_t client_thread_handle;
-
   /*
    * Flags
    */
   u8 is_init;
-  u8 prealloc_fifos;           /**< Request fifo preallocation */
 } proxy_main_t;
 
 extern proxy_main_t proxy_main;