working on bandwidth draft
This commit is contained in:
parent
5a339c60df
commit
ec38153d81
@ -92,7 +92,7 @@ LOW_DEFAULT_PORTS_BOUNDARY,HIGH_DEFAULT_PORTS_BOUNDARY,0,0,"",
|
||||
/////////////// stop server ////////////////
|
||||
0,
|
||||
/////////////// MISC PARAMS ////////////////
|
||||
0,0,0,0,0,SHATYPE_SHA1,':',0,0,TURN_CREDENTIALS_NONE,0,0,0,0,0,
|
||||
0,0,0,0,0,SHATYPE_SHA1,':',0,0,TURN_CREDENTIALS_NONE,0,0,0,0,0,0,
|
||||
///////////// Users DB //////////////
|
||||
{ TURN_USERDB_TYPE_FILE, {"\0",NULL}, {0,NULL,NULL, {NULL,0}} }
|
||||
|
||||
@ -1715,6 +1715,11 @@ int main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
if(turn_params.bps_capacity && !(turn_params.max_bps)) {
|
||||
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "\nCONFIG ERROR: If you set the --bps-capacity option, then you must set --max-bps options, too.\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
if(turn_params.no_udp_relay && turn_params.no_tcp_relay) {
|
||||
TURN_LOG_FUNC(TURN_LOG_LEVEL_ERROR, "\nCONFIG ERROR: --no-udp-relay and --no-tcp-relay options cannot be used together.\n");
|
||||
exit(-1);
|
||||
|
||||
@ -300,6 +300,7 @@ typedef struct _turn_params_ {
|
||||
int use_auth_secret_with_timestamp;
|
||||
band_limit_t max_bps;
|
||||
band_limit_t bps_capacity;
|
||||
band_limit_t bps_capacity_allocated;
|
||||
vint total_quota;
|
||||
vint user_quota;
|
||||
|
||||
|
||||
@ -1381,7 +1381,8 @@ static void setup_relay_server(struct relay_server *rs, ioa_engine_handle e, int
|
||||
send_socket_to_relay,
|
||||
&turn_params.secure_stun, turn_params.shatype, &turn_params.mobility,
|
||||
turn_params.server_relay,
|
||||
send_turn_session_info);
|
||||
send_turn_session_info,
|
||||
turn_params.max_bps);
|
||||
|
||||
if(to_set_rfc5780) {
|
||||
set_rfc5780(&(rs->server), get_alt_addr, send_message_from_listener_to_client);
|
||||
|
||||
@ -80,8 +80,6 @@ typedef struct _stun_buffer_list {
|
||||
size_t tsz;
|
||||
} stun_buffer_list;
|
||||
|
||||
typedef vint band_limit_t;
|
||||
|
||||
/*
|
||||
* New connection callback
|
||||
*/
|
||||
|
||||
@ -361,6 +361,10 @@ static void change_cli_param(struct cli_session* cs, const char* pn)
|
||||
cli_max_output_sessions = atoi(pn+strlen("cli-max-output-sessions"));
|
||||
cli_print_uint(cs,(unsigned long)cli_max_output_sessions,"cli-max-output-sessions",2);
|
||||
return;
|
||||
} else if(strstr(pn,"bps-capacity")==pn) {
|
||||
turn_params.bps_capacity = atoi(pn+strlen("bps-capacity"));
|
||||
cli_print_uint(cs,(unsigned long)turn_params.bps_capacity,"bps-capacity",2);
|
||||
return;
|
||||
}
|
||||
|
||||
myprintf(cs, "\n");
|
||||
@ -714,7 +718,8 @@ static void cli_print_configuration(struct cli_session* cs)
|
||||
|
||||
cli_print_uint(cs,(unsigned long)turn_params.min_port,"min-port",0);
|
||||
cli_print_uint(cs,(unsigned long)turn_params.max_port,"max-port",0);
|
||||
cli_print_uint(cs,(unsigned long)turn_params.bps_capacity,"bps_capacity",0);
|
||||
cli_print_uint(cs,(unsigned long)turn_params.bps_capacity,"bps-capacity",2);
|
||||
cli_print_uint(cs,(unsigned long)turn_params.bps_capacity_allocated,"Allocated bps-capacity",0);
|
||||
|
||||
cli_print_ip_range_list(cs,&turn_params.ip_whitelist,"Whitelist IP",0);
|
||||
cli_print_ip_range_list(cs,&turn_params.ip_blacklist,"Blacklist IP",0);
|
||||
|
||||
@ -4348,7 +4348,8 @@ void init_turn_server(turn_turnserver* server,
|
||||
ip_range_list_t* ip_whitelist, ip_range_list_t* ip_blacklist,
|
||||
send_socket_to_relay_cb send_socket_to_relay,
|
||||
vintp secure_stun, SHATYPE shatype, vintp mobility, int server_relay,
|
||||
send_turn_session_info_cb send_turn_session_info) {
|
||||
send_turn_session_info_cb send_turn_session_info,
|
||||
band_limit_t max_bps) {
|
||||
|
||||
if (!server)
|
||||
return;
|
||||
@ -4405,6 +4406,8 @@ void init_turn_server(turn_turnserver* server,
|
||||
|
||||
server->send_socket_to_relay = send_socket_to_relay;
|
||||
|
||||
server->max_bps = max_bps;
|
||||
|
||||
set_ioa_timer(server->e, 1, 0, timer_timeout_handler, server, 1, "timer_timeout_handler");
|
||||
}
|
||||
|
||||
|
||||
@ -92,6 +92,8 @@ typedef void (*release_allocation_quota_cb)(u08bits *username, u08bits *realm);
|
||||
typedef int (*send_socket_to_relay_cb)(turnserver_id id, u64bits cid, stun_tid *tid, ioa_socket_handle s, int message_integrity, MESSAGE_TO_RELAY_TYPE rmt, ioa_net_data *nd);
|
||||
typedef int (*send_turn_session_info_cb)(struct turn_session_info *tsi);
|
||||
|
||||
typedef vint band_limit_t;
|
||||
|
||||
struct _turn_turnserver {
|
||||
|
||||
turnserver_id id;
|
||||
@ -149,6 +151,9 @@ struct _turn_turnserver {
|
||||
|
||||
/* Server relay */
|
||||
int server_relay;
|
||||
|
||||
/* Bandwidth draft: */
|
||||
band_limit_t max_bps;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////
|
||||
@ -182,7 +187,8 @@ void init_turn_server(turn_turnserver* server,
|
||||
SHATYPE shatype,
|
||||
vintp mobility,
|
||||
int server_relay,
|
||||
send_turn_session_info_cb send_turn_session_info);
|
||||
send_turn_session_info_cb send_turn_session_info,
|
||||
band_limit_t max_bps);
|
||||
|
||||
ioa_engine_handle turn_server_get_engine(turn_turnserver *s);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user