TCP fixes
This commit is contained in:
parent
0c11f9290b
commit
6889e5dc0f
@ -4,6 +4,7 @@ Version 4.2.1.4 'Monza':
|
||||
- TCP/TLS tests extended.
|
||||
- relay RTCP sockets ports allocation fixed.
|
||||
- list of libraries cleaned.
|
||||
- TCP bufferevent concurrency fixed.
|
||||
|
||||
10/05/2014 Oleg Moskalenko <mom040267@gmail.com>
|
||||
Version 4.2.1.2 'Monza':
|
||||
|
||||
@ -1005,11 +1005,8 @@ static void setup_listener(void)
|
||||
|
||||
{
|
||||
struct bufferevent *pair[2];
|
||||
int opts = BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS;
|
||||
|
||||
opts |= BEV_OPT_THREADSAFE;
|
||||
|
||||
bufferevent_pair_new(turn_params.listener.event_base, opts, pair);
|
||||
bufferevent_pair_new(turn_params.listener.event_base, BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE, pair);
|
||||
turn_params.listener.in_buf = pair[0];
|
||||
turn_params.listener.out_buf = pair[1];
|
||||
bufferevent_setcb(turn_params.listener.in_buf, listener_receive_message, NULL, NULL, &turn_params.listener);
|
||||
@ -1548,7 +1545,6 @@ void run_listener_server(struct listener_server *ls)
|
||||
static void setup_relay_server(struct relay_server *rs, ioa_engine_handle e, int to_set_rfc5780)
|
||||
{
|
||||
struct bufferevent *pair[2];
|
||||
int opts = BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS;
|
||||
|
||||
if(e) {
|
||||
rs->event_base = e->event_base;
|
||||
@ -1573,15 +1569,13 @@ static void setup_relay_server(struct relay_server *rs, ioa_engine_handle e, int
|
||||
ioa_engine_set_rtcp_map(rs->ioa_eng, turn_params.listener.rtcpmap);
|
||||
}
|
||||
|
||||
opts |= BEV_OPT_THREADSAFE;
|
||||
|
||||
bufferevent_pair_new(rs->event_base, opts, pair);
|
||||
bufferevent_pair_new(rs->event_base, BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE, pair);
|
||||
rs->in_buf = pair[0];
|
||||
rs->out_buf = pair[1];
|
||||
bufferevent_setcb(rs->in_buf, relay_receive_message, NULL, NULL, rs);
|
||||
bufferevent_enable(rs->in_buf, EV_READ);
|
||||
|
||||
bufferevent_pair_new(rs->event_base, opts, pair);
|
||||
bufferevent_pair_new(rs->event_base, BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE, pair);
|
||||
rs->auth_in_buf = pair[0];
|
||||
rs->auth_out_buf = pair[1];
|
||||
bufferevent_setcb(rs->auth_in_buf, relay_receive_auth_message, NULL, NULL, rs);
|
||||
@ -1683,11 +1677,8 @@ static void* run_auth_server_thread(void *arg)
|
||||
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"IO method (auth thread): %s\n",event_base_get_method(turn_params.authserver.event_base));
|
||||
|
||||
struct bufferevent *pair[2];
|
||||
int opts = BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS;
|
||||
|
||||
opts |= BEV_OPT_THREADSAFE;
|
||||
|
||||
bufferevent_pair_new(turn_params.authserver.event_base, opts, pair);
|
||||
bufferevent_pair_new(turn_params.authserver.event_base, BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE, pair);
|
||||
turn_params.authserver.in_buf = pair[0];
|
||||
turn_params.authserver.out_buf = pair[1];
|
||||
bufferevent_setcb(turn_params.authserver.in_buf, auth_server_receive_message, NULL, NULL, &turn_params.authserver);
|
||||
|
||||
@ -1369,7 +1369,7 @@ ioa_socket_handle ioa_create_connecting_tcp_relay_socket(ioa_socket_handle s, io
|
||||
|
||||
ret->conn_bev = bufferevent_socket_new(ret->e->event_base,
|
||||
ret->fd,
|
||||
BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE);
|
||||
debug_ptr_add(ret->conn_bev);
|
||||
bufferevent_setcb(ret->conn_bev, NULL, NULL, connect_eventcb, ret);
|
||||
|
||||
@ -2394,7 +2394,7 @@ static int socket_input_worker(ioa_socket_handle s)
|
||||
s->fd,
|
||||
s->ssl,
|
||||
BUFFEREVENT_SSL_ACCEPTING,
|
||||
BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE);
|
||||
debug_ptr_add(s->bev);
|
||||
bufferevent_setcb(s->bev, socket_input_handler_bev, socket_output_handler_bev,
|
||||
eventcb_bev, s);
|
||||
@ -2410,7 +2410,7 @@ static int socket_input_worker(ioa_socket_handle s)
|
||||
}
|
||||
s->bev = bufferevent_socket_new(s->e->event_base,
|
||||
s->fd,
|
||||
BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE);
|
||||
debug_ptr_add(s->bev);
|
||||
bufferevent_setcb(s->bev, socket_input_handler_bev, socket_output_handler_bev,
|
||||
eventcb_bev, s);
|
||||
@ -3235,7 +3235,7 @@ int register_callback_on_ioa_socket(ioa_engine_handle e, ioa_socket_handle s, in
|
||||
} else {
|
||||
s->bev = bufferevent_socket_new(s->e->event_base,
|
||||
s->fd,
|
||||
BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE);
|
||||
debug_ptr_add(s->bev);
|
||||
bufferevent_setcb(s->bev, socket_input_handler_bev, socket_output_handler_bev,
|
||||
eventcb_bev, s);
|
||||
@ -3260,14 +3260,14 @@ int register_callback_on_ioa_socket(ioa_engine_handle e, ioa_socket_handle s, in
|
||||
s->fd,
|
||||
s->ssl,
|
||||
BUFFEREVENT_SSL_ACCEPTING,
|
||||
BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE);
|
||||
debug_ptr_add(s->bev);
|
||||
} else {
|
||||
s->bev = bufferevent_openssl_socket_new(s->e->event_base,
|
||||
s->fd,
|
||||
s->ssl,
|
||||
BUFFEREVENT_SSL_OPEN,
|
||||
BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE);
|
||||
debug_ptr_add(s->bev);
|
||||
}
|
||||
bufferevent_setcb(s->bev, socket_input_handler_bev, socket_output_handler_bev,
|
||||
|
||||
@ -1169,7 +1169,7 @@ static void cliserver_input_handler(struct evconnlistener *l, evutil_socket_t fd
|
||||
|
||||
clisession->bev = bufferevent_socket_new(cliserver.event_base,
|
||||
fd,
|
||||
BEV_OPT_THREADSAFE | BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE);
|
||||
debug_ptr_add(clisession->bev);
|
||||
bufferevent_setcb(clisession->bev, cli_socket_input_handler_bev, NULL,
|
||||
cli_eventcb_bev, clisession);
|
||||
@ -1201,11 +1201,8 @@ void setup_cli_thread(void)
|
||||
TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"IO method (cli thread): %s\n",event_base_get_method(cliserver.event_base));
|
||||
|
||||
struct bufferevent *pair[2];
|
||||
int opts = BEV_OPT_DEFER_CALLBACKS | BEV_OPT_UNLOCK_CALLBACKS;
|
||||
|
||||
opts |= BEV_OPT_THREADSAFE;
|
||||
|
||||
bufferevent_pair_new(cliserver.event_base, opts, pair);
|
||||
bufferevent_pair_new(cliserver.event_base, BEV_OPT_DEFER_CALLBACKS | BEV_OPT_THREADSAFE, pair);
|
||||
cliserver.in_buf = pair[0];
|
||||
cliserver.out_buf = pair[1];
|
||||
bufferevent_setcb(cliserver.in_buf, cli_server_receive_message, NULL, NULL, &cliserver);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user