|
Data Structures |
struct | ccontrol |
| congestion control structure maintained for each socket More...
|
struct | context_t |
| context structure used by the reliability functino to evaluate reliability for a frame More...
|
struct | path_mtu |
| Structure holding values related to path MTU discovery. More...
|
struct | vfer_sock |
| vfer socket structure holding everything associated with a single vfer connection More...
|
struct | vfer_socks |
| a sockets array with a protecting mutex, underlying fd sets, and more. More...
|
struct | vfer_stats |
| VFER stats structure maintained for each socket. More...
|
Defines |
#define | ALLOC(DST_ADDR, TYPE_POINTER, TYPE, NUM) |
#define | CALC_UDP_RECV_BUF_SIZE(MAXPACKETS) ((DATA_LENGTH + INIT_MTU)*MAXPACKETS) |
#define | CALC_UDP_SEND_BUF_SIZE(MAXPACKETS) ((DATA_LENGTH + INIT_MTU)*MAXPACKETS) |
#define | CCONTROL_TARGET 8000 |
#define | CLR_SOCKET_STATS(stats_ptr) { bzero(stats_ptr, sizeof(struct vfer_stats)); } |
#define | COMMON_MTU_LIST { 1024, 1430, 1978, 4282, 8096, 17844, 31030, 65465 } |
#define | COMMON_MTU_MAX_INDEX 7 |
#define | CONTROLT_SLEEPTIME 1000 |
#define | DEBUG_CC(COND, FILE, FUNC, SOCKET,) |
#define | DEBUG_ERR |
#define | DEBUG_OUT |
#define | DEBUG_PACK(COND, FILE, FUNC, PACKET,) |
#define | DEBUG_PMTUD_PRINT(COND, FILE, FUNC,) |
#define | DEBUG_PRINT(COND, FILE, FUNC,) |
#define | DEFAULT_CONNECT_TIMEOUT 60000000 |
#define | DEFAULT_RECV_BUF_MAXPACKETS 3000 |
#define | DEFAULT_SEND_BUF_MAXPACKETS 3000 |
#define | DEST_UNREACHABLE 3 |
#define | ERROR_PRINT(FILE, FUNC,) |
#define | FRAG_NEEDED 4 |
#define | FRAME_WINDOW 5 |
#define | GET_TIME_OF_DAY(TV_PTR) gettimeofday(TV_PTR, NULL); |
#define | HANDSHAKE_ACK_WAIT_INTERVAL 1000000 |
#define | INIT_MTU 1024 |
#define | MAX_CWND_INCREASE_PACKETS_PER_RTT 8 |
#define | MAX_FRAME_SIZE 65535 |
#define | MAX_REQUEST_TRIES 5 |
#define | MAX_RESPONSE_TRIES 5 |
#define | MAX_SEND_WINDOW 1024*8000 |
#define | MAX_SOCKETS 64 |
#define | MMAP_CHUNK_SIZE 50000000 |
#define | MTU_FOUND 2 |
#define | NO_PMTUD 3 |
#define | NO_PROBE_SENT 0 |
#define | PMTUD_TIME_INTERVAL 600 |
#define | PRINT_MEM printf("MEMORY USED [%d bytes]\n", (int)ReqMem); |
#define | PROBE_SENT 1 |
#define | RELEASE(POINTER_TO_BLOCK, SIZE) |
#define | RELEASE_IOV(IOV, LEN) |
#define | RELEASE_PACK(PACK) |
#define | REQUEST_RETRY_INTERVAL 1000000 |
#define | RTT(SOCK_PTR, TV) abs(SOCK_PTR->ccontrol.delay - Tree_Min(&(SOCK_PTR->ccontrol.rev_path_curr_delayhist), TV)) |
#define | SEQ_WINDOW 5 |
#define | SET_ERROR_RETURN(sock, error_type, ret) |
#define | SET_ERROR_UNLOCK_RETURN(sock, error_type, mutex_ptr, ret) |
#define | SOCK_OPT_ISSET(socket, opt) (socket->opts & opt) |
#define | TIMEVAL_MS(TV) ((unsigned int)(((TV).tv_sec * 1000) + ((TV).tv_usec / 1000))) |
#define | TIMEVAL_MS_DIFF(TV1, TV2) (TIMEVAL_MS(TV2) - TIMEVAL_MS(TV1)) |
#define | TIMEVAL_US(TV) ((unsigned int)(((TV).tv_sec * 1000000) + ((TV).tv_usec))) |
#define | TIMEVAL_US_DIFF(TV1, TV2) (TIMEVAL_US(TV2) - TIMEVAL_US(TV1)) |
#define | TREE_INIT(TREE_PTR, INIT_VAL, TV) |
#define | UNACKED_THRESH 4 |
#define | UNLOCK_AND_RETURN_ERROR(mutex, err) |
#define | URGENCY_THRESHOLD 1 |
#define | VFER_VERSION 1 |
Typedefs |
typedef uint32_t | bool_t |
typedef ccontrol | ccontrol_t |
| congestion control structure maintained for each socket
|
typedef bool_t(*) | relfun_t (context_t *) |
typedef sockaddr | SA |
typedef enum sock_mark | sock_mark_t |
typedef int | vfer_fd |
typedef vfer_socks | vfer_socks_t |
| a sockets array with a protecting mutex, underlying fd sets, and more.
|
Enumerations |
enum | sock_mark { VFER_READABLE = 1,
VFER_WRITABLE = 2,
VFER_EXCEPTION = 4
} |
enum | sock_opt {
VFERSO_QTTL = 1,
VFERSO_SNDSIZE = 3,
VFERSO_RELFUN = 5,
VFERSO_CONNECTTIMEOUT = 6,
VFERSO_CLOSETIMEOUT = 7,
VFERSO_ACCEPTTIMEOUT = 9,
VFERSO_SNDTIMEOUT = 10,
VFERSO_RCVTIMEOUT = 11,
VFERSO_NOPMTUD = 2,
VFERSO_NONBLOCK = 4,
VFERSO_CLIENT_SOCK = 8
} |
enum | sock_state {
CONN_ACQUIRED,
CONN_BOUND,
CONN_LISTENING,
CONN_ACCEPTING,
CONN_CONNECTING,
CONN_CONNECTED,
CONN_DISCONNECTING,
CONN_DISCONNECTED,
CONN_ERR
} |
enum | vfer_error {
VFER_BADTYPE = -40,
VFER_IMPL,
VFER_BADSOCK,
VFER_TIMEOUT,
VFER_REFUSED,
VFER_NOCONN,
VFER_NOBIND,
VFER_BADADDR,
VFER_NOLISTEN,
VFER_NOACCEPT,
VFER_NOTSTREAM,
VFER_WOULDBLOCK,
VFER_BADOPT,
VFER_BADFD,
VFER_INVAL,
VFER_UNCONN,
VFER_INPROGRESS
} |
| vfer_error type More...
|
Variables |
char | DEBUG_ACCEPTQ |
char | DEBUG_API |
char | DEBUG_CCTL |
char | DEBUG_CTL |
FILE * | debug_out |
char | DEBUG_PACKET |
char | DEBUG_PMTUD |
FILE * | error_out |
long int | ReqMem |
vfer_socks_t | sockets |