session: segment handle in accept/connect notifications
[vpp.git] / src / vnet / session-apps / echo_server.c
index 770f4ba..e79e838 100644 (file)
@@ -96,7 +96,7 @@ echo_server_session_connected_callback (u32 app_index, u32 api_context,
 }
 
 int
-echo_server_add_segment_callback (u32 client_index, const ssvm_private_t * sp)
+echo_server_add_segment_callback (u32 client_index, u64 segment_handle)
 {
   /* New heaps may be added */
   return 0;
@@ -211,14 +211,16 @@ echo_server_rx_callback (stream_session_t * s)
       actual_transfer = app_recv_stream_raw (rx_fifo,
                                             esm->rx_buf[thread_index],
                                             max_transfer,
-                                            0 /* don't clear event */ );
+                                            0 /* don't clear event */ ,
+                                            0 /* peek */ );
     }
   else
     {
       actual_transfer = app_recv_dgram_raw (rx_fifo,
                                            esm->rx_buf[thread_index],
                                            max_transfer, &at,
-                                           0 /* don't clear event */ );
+                                           0 /* don't clear event */ ,
+                                           0 /* peek */ );
     }
   ASSERT (actual_transfer == max_transfer);
   /* test_bytes (esm, actual_transfer); */
@@ -232,14 +234,14 @@ echo_server_rx_callback (stream_session_t * s)
       n_written = app_send_stream_raw (tx_fifo,
                                       esm->vpp_queue[thread_index],
                                       esm->rx_buf[thread_index],
-                                      actual_transfer, 0);
+                                      actual_transfer, FIFO_EVENT_APP_TX, 0);
     }
   else
     {
       n_written = app_send_dgram_raw (tx_fifo, &at,
                                      esm->vpp_queue[s->thread_index],
                                      esm->rx_buf[thread_index],
-                                     actual_transfer, 0);
+                                     actual_transfer, FIFO_EVENT_APP_TX, 0);
     }
 
   if (n_written != max_transfer)
@@ -285,8 +287,8 @@ echo_server_attach (u8 * appns_id, u64 appns_flags, u64 appns_secret)
   u64 options[APP_OPTIONS_N_OPTIONS];
   u32 segment_size = 512 << 20;
 
-  memset (a, 0, sizeof (*a));
-  memset (options, 0, sizeof (options));
+  clib_memset (a, 0, sizeof (*a));
+  clib_memset (options, 0, sizeof (options));
 
   if (esm->no_echo)
     echo_server_session_cb_vft.builtin_app_rx_callback =
@@ -325,16 +327,16 @@ echo_server_attach (u8 * appns_id, u64 appns_flags, u64 appns_secret)
     }
   esm->app_index = a->app_index;
 
-  memset (a_cert, 0, sizeof (*a_cert));
+  clib_memset (a_cert, 0, sizeof (*a_cert));
   a_cert->app_index = a->app_index;
   vec_validate (a_cert->cert, test_srv_crt_rsa_len);
-  clib_memcpy (a_cert->cert, test_srv_crt_rsa, test_srv_crt_rsa_len);
+  clib_memcpy_fast (a_cert->cert, test_srv_crt_rsa, test_srv_crt_rsa_len);
   vnet_app_add_tls_cert (a_cert);
 
-  memset (a_key, 0, sizeof (*a_key));
+  clib_memset (a_key, 0, sizeof (*a_key));
   a_key->app_index = a->app_index;
   vec_validate (a_key->key, test_srv_key_rsa_len);
-  clib_memcpy (a_key->key, test_srv_key_rsa, test_srv_key_rsa_len);
+  clib_memcpy_fast (a_key->key, test_srv_key_rsa, test_srv_key_rsa_len);
   vnet_app_add_tls_key (a_key);
   return 0;
 }
@@ -357,7 +359,7 @@ echo_server_listen ()
 {
   echo_server_main_t *esm = &echo_server_main;
   vnet_bind_args_t _a, *a = &_a;
-  memset (a, 0, sizeof (*a));
+  clib_memset (a, 0, sizeof (*a));
   a->app_index = esm->app_index;
   a->uri = esm->server_uri;
   return vnet_bind_uri (a);
@@ -387,7 +389,7 @@ echo_server_create (vlib_main_t * vm, u8 * appns_id, u64 appns_flags,
   vec_validate (esm->rx_retries, num_threads - 1);
   for (i = 0; i < vec_len (esm->rx_retries); i++)
     vec_validate (esm->rx_retries[i],
-                 pool_elts (session_manager_main.sessions[i]));
+                 pool_elts (session_manager_main.wrk[i].sessions));
   esm->rcv_buffer_size = clib_max (esm->rcv_buffer_size, esm->fifo_size);
   for (i = 0; i < num_threads; i++)
     vec_validate (esm->rx_buf[i], esm->rcv_buffer_size);