BLOG | DOCUMENTATION | TRAC

Home --> Documentations --> PJNATH Reference

pj_stun_sock_cfg Struct Reference

Data Fields

pj_grp_lock_tgrp_lock
 
unsigned max_pkt_size
 
unsigned async_cnt
 
pj_sockaddr bound_addr
 
pj_uint16_t port_range
 
int ka_interval
 
pj_qos_type qos_type
 
pj_qos_params qos_params
 
pj_bool_t qos_ignore_error
 
unsigned so_rcvbuf_size
 
unsigned so_sndbuf_size
 

Detailed Description

This describe the settings to be given to the STUN transport during its creation. Application should initialize this structure by calling pj_stun_sock_cfg_default().

Field Documentation

unsigned pj_stun_sock_cfg::async_cnt

Specify the number of simultaneous asynchronous read operations to be invoked to the ioqueue. Having more than one read operations will increase performance on multiprocessor systems since the application will be able to process more than one incoming packets simultaneously. Default value is 1.

pj_sockaddr pj_stun_sock_cfg::bound_addr

Specify the interface where the socket should be bound to. If the address is zero, socket will be bound to INADDR_ANY. If the address is non-zero, socket will be bound to this address only, and the transport will have only one address alias (the alias_cnt field in pj_stun_sock_info structure. If the port is set to zero, the socket will bind at any port (chosen by the OS).

pj_grp_lock_t* pj_stun_sock_cfg::grp_lock

The group lock to be used by the STUN socket. If NULL, the STUN socket will create one internally.

Default: NULL

int pj_stun_sock_cfg::ka_interval

Specify the STUN keep-alive duration, in seconds. The STUN transport does keep-alive by sending STUN Binding request to the STUN server. If this value is zero, the PJ_STUN_KEEP_ALIVE_SEC value will be used. If the value is negative, it will disable STUN keep-alive.

unsigned pj_stun_sock_cfg::max_pkt_size

Packet buffer size.

Default value is PJ_STUN_SOCK_PKT_LEN.

pj_uint16_t pj_stun_sock_cfg::port_range

Specify the port range for STUN socket binding, relative to the start port number specified in bound_addr. Note that this setting is only applicable when the start port number is non zero.

Default value is zero.

pj_bool_t pj_stun_sock_cfg::qos_ignore_error

Specify if STUN socket should ignore any errors when setting the QoS traffic type/parameters.

Default: PJ_TRUE

pj_qos_params pj_stun_sock_cfg::qos_params

Set the low level QoS parameters to the transport. This is a lower level operation than setting the qos_type field and may not be supported on all platforms.

By default all settings in this structure are disabled.

pj_qos_type pj_stun_sock_cfg::qos_type

QoS traffic type to be set on this transport. When application wants to apply QoS tagging to the transport, it's preferable to set this field rather than qos_param fields since this is more portable.

Default value is PJ_QOS_TYPE_BEST_EFFORT.

unsigned pj_stun_sock_cfg::so_rcvbuf_size

Specify target value for socket receive buffer size. It will be applied using setsockopt(). When it fails to set the specified size, it will try with lower value until the highest possible is successfully set.

Default: 0 (OS default)

unsigned pj_stun_sock_cfg::so_sndbuf_size

Specify target value for socket send buffer size. It will be applied using setsockopt(). When it fails to set the specified size, it will try with lower value until the highest possible is successfully set.

Default: 0 (OS default)


The documentation for this struct was generated from the following file:

 


PJNATH - Open Source NAT traversal helper library supporting STUN, TURN, and ICE
Copyright (C) 2006-2009 Teluu Inc.