struct channel;
typedef struct {
- int tcpfd;
SSL_handle_t *ssl;
- bool_t SSLready;
- bool_t shutdown_wait;
- cryptState_t cryptState;
- bool_t readBlockedOnWrite, writeBlockedOnRead;
- struct sockaddr_storage remote_tcp;
- struct sockaddr_storage remote_udp;
- uint8_t rxbuf[BUFSIZE], txbuf[BUFSIZE];
- uint32_t rxcount, msgsize, drainleft, txcount, txsize;
- int sessionId;
- uint8_t key[KEY_LENGTH];
+ struct dlist node;
char *username;
- bool_t bUDP, authenticated, deaf, mute, self_deaf, self_mute, recording, bOpus;
char *os, *release, *os_version;
+ uint32_t rxcount, msgsize, drainleft, txcount, txsize;
+ int sessionId;
uint32_t version;
int codec_count;
struct dlist codecs;
- int availableBandwidth;
etimer_t lastActivity, connectTime, idleTime;
- struct dlist node;
struct dlist txMsgQueue;
int txQueueCount;
+ int availableBandwidth;
struct channel *channel;
char *context;
struct dlist chan_node;
struct dlist voicetargets;
struct dlist tokens;
int tokencount;
- uint8_t hash[20];
- bool_t isAdmin;
- bool_t isSuppressed;
+ int tcpfd;
float UDPPingAvg, UDPPingVar, TCPPingAvg, TCPPingVar;
uint32_t UDPPackets, TCPPackets;
+
+ bool_t SSLready;
+ bool_t shutdown_wait;
+ bool_t readBlockedOnWrite, writeBlockedOnRead;
+ bool_t bUDP, authenticated, deaf, mute, self_deaf, self_mute, recording, bOpus;
+ bool_t isAdmin;
+ bool_t isSuppressed;
+
+ struct sockaddr_storage remote_tcp;
+ struct sockaddr_storage remote_udp;
+
+ uint8_t key[KEY_LENGTH];
+ uint8_t hash[20];
+ cryptState_t cryptState;
+ uint8_t rxbuf[BUFSIZE], txbuf[BUFSIZE];
} client_t;
typedef struct {