double lastSendTime;
qboolean canSend;
- qboolean sendNext;
+ // writing buffer to send to peer as the next reliable message
+ // can be added to at any time, copied into sendMessage buffer when it is
+ // possible to send a reliable message and then cleared
+ sizebuf_t message;
+ unsigned char messagedata[NET_MAXMESSAGE];
+
+ // reliable message that is currently sending
+ // (for building fragments)
unsigned int ackSequence;
unsigned int sendSequence;
unsigned int unreliableSendSequence;
int sendMessageLength;
- qbyte sendMessage[NET_MAXMESSAGE];
+ unsigned char sendMessage[NET_MAXMESSAGE];
+ // reliable message that is currently being received
+ // (for putting together fragments)
unsigned int receiveSequence;
unsigned int unreliableReceiveSequence;
int receiveMessageLength;
- qbyte receiveMessage[NET_MAXMESSAGE];
+ unsigned char receiveMessage[NET_MAXMESSAGE];
char address[128];
} netconn_t;
#define SERVERLIST_ANDMASKCOUNT 5
#define SERVERLIST_ORMASKCOUNT 5
-typedef enum
+typedef enum serverlist_maskop_e
{
// SLMO_CONTAINS is the default for strings
// SLMO_GREATEREQUAL is the default for numbers (also used when OP == CONTAINS or NOTCONTAINS
} serverlist_maskop_t;
// struct with all fields that you can search for or sort by
-typedef struct
+typedef struct serverlist_info_s
{
// address for connecting
char cname[128];
SQS_TIMEDOUT
} serverlist_query_state;
-typedef struct
+typedef struct serverlist_entry_s
{
// used to determine whether this entry should be included into the final view
serverlist_query_state query;
char line2[128];
} serverlist_entry_t;
-typedef struct
+typedef struct serverlist_mask_s
{
qboolean active;
serverlist_maskop_t tests[SLIF_COUNT];
extern cvar_t cl_netlocalping;
-int NetConn_SendReliableMessage(netconn_t *conn, sizebuf_t *data);
-//void NetConn_SendMessageNext(netconn_t *conn);
-//void NetConn_ReSendMessage(netconn_t *conn);
-qboolean NetConn_CanSendMessage(netconn_t *conn);
int NetConn_SendUnreliableMessage(netconn_t *conn, sizebuf_t *data);
void NetConn_CloseClientPorts(void);
void NetConn_OpenClientPorts(void);
void NetConn_CloseServerPorts(void);
void NetConn_OpenServerPorts(int opennetports);
+void NetConn_UpdateSockets(void);
lhnetsocket_t *NetConn_ChooseClientSocketForAddress(lhnetaddress_t *address);
lhnetsocket_t *NetConn_ChooseServerSocketForAddress(lhnetaddress_t *address);
void NetConn_Init(void);
void NetConn_Close(netconn_t *conn);
void NetConn_Listen(qboolean state);
int NetConn_IsLocalGame(void);
-//int NetConn_ReceivedMessage(netconn_t *conn, qbyte *data, int length);
-//int NetConn_ClientParsePacket(lhnetsocket_t *mysocket, qbyte *data, int length, lhnetaddress_t *peeraddress);
-//int NetConn_ServerParsePacket(lhnetsocket_t *mysocket, qbyte *data, int length, lhnetaddress_t *peeraddress);
void NetConn_ClientFrame(void);
void NetConn_ServerFrame(void);
void NetConn_QueryMasters(void);
void NetConn_Heartbeat(int priority);
void NetConn_QueryQueueFrame(void);
-int NetConn_SendToAll(sizebuf_t *data, double blocktime);
void Net_Stats_f(void);
void Net_Slist_f(void);