__sync_fetch_and_add (&ecm->ready_connections, -1);
}
else
- clib_warning ("session AWOL?");
+ {
+ clib_warning ("session AWOL?");
+ vec_delete (connections_this_batch, 1, i);
+ }
/* Kick the debug CLI process */
if (ecm->ready_connections == 0)
static int
echo_clients_rx_callback (stream_session_t * s)
{
- clib_warning ("BUG");
+ return 0;
+}
+
+int
+echo_client_add_segment_callback (u32 client_index, const ssvm_private_t * sp)
+{
+ /* New heaps may be added */
return 0;
}
.session_connected_callback = echo_clients_session_connected_callback,
.session_accept_callback = echo_clients_session_create_callback,
.session_disconnect_callback = echo_clients_session_disconnect_callback,
- .builtin_server_rx_callback = echo_clients_rx_callback
+ .builtin_server_rx_callback = echo_clients_rx_callback,
+ .add_segment_callback = echo_client_add_segment_callback
};
/* *INDENT-ON* */
static clib_error_t *
echo_clients_attach (u8 * appns_id, u64 appns_flags, u64 appns_secret)
{
- u32 prealloc_fifos, segment_size = 2 << 20;
+ u32 prealloc_fifos, segment_size = 256 << 20;
echo_client_main_t *ecm = &echo_client_main;
vnet_app_attach_args_t _a, *a = &_a;
u64 options[16];
options[APP_OPTIONS_ACCEPT_COOKIE] = 0x12345678;
options[APP_OPTIONS_SEGMENT_SIZE] = segment_size;
+ options[APP_OPTIONS_ADD_SEGMENT_SIZE] = segment_size;
options[APP_OPTIONS_RX_FIFO_SIZE] = ecm->fifo_size;
options[APP_OPTIONS_TX_FIFO_SIZE] = ecm->fifo_size;
options[APP_OPTIONS_PRIVATE_SEGMENT_COUNT] = ecm->private_segment_count;
{
echo_client_main_t *ecm = &echo_client_main;
vlib_thread_main_t *thread_main = vlib_get_thread_main ();
- uword *event_data = 0, event_type;
- u8 *default_uri = (u8 *) "tcp://6.0.1.1/1234", *appns_id = 0;
u64 tmp, total_bytes, appns_flags = 0, appns_secret = 0;
f64 test_timeout = 20.0, syn_timeout = 20.0, delta;
+ char *default_uri = "tcp://6.0.1.1/1234";
+ uword *event_data = 0, event_type;
f64 time_before_connects;
u32 n_clients = 1;
int preallocate_sessions = 0;
char *transfer_type;
clib_error_t *error = 0;
+ u8 *appns_id = 0;
int i;
ecm->bytes_to_send = 8192;
else if (unformat (input, "test-bytes"))
ecm->test_bytes = 1;
else
- return clib_error_return (0, "unknown input `%U'",
+ return clib_error_return (0, "failed: unknown input `%U'",
format_unformat_error, input);
}
if (!ecm->connect_uri)
{
- clib_warning ("No uri provided. Using default: %v", default_uri);
- ecm->connect_uri = default_uri;
+ clib_warning ("No uri provided. Using default: %s", default_uri);
+ ecm->connect_uri = format (0, "%s%c", default_uri, 0);
}
#if ECHO_CLIENT_PTHREAD
}
if (error)
ec_cli_output ("test failed");
+ vec_free (ecm->connect_uri);
return error;
}