static int FT_SendData(ftRequest_t* request) { int bytes; if(request->socket == -1) return -1; if(request->sendmsg.cursize < 1) return 0; /* Send new bytes */ bytes = NET_TcpSendData(request->socket, request->sendmsg.data, request->sendmsg.cursize); if(bytes < 0 || bytes > request->sendmsg.cursize) { return -1; }else if(bytes == 0){ return 0; } request->sendmsg.cursize -= bytes; memmove(request->sendmsg.data, &request->sendmsg.data[bytes], request->sendmsg.cursize); return 1; }
/* =============== NET_TCPPrint Sends a text message in an out-of-band datagram ================ */ void QDECL NET_PrintData( int sock, const char *format, ... ) { va_list argptr; char string[MAX_PACKETLEN]; va_start( argptr, format ); Q_vsnprintf( string, sizeof(string), format, argptr ); va_end( argptr ); // send the datagram NET_TcpSendData( sock, string, strlen( string ) ); }
qboolean HTTPServer_WriteMessage( ftRequest_t* request, netadr_t* from) { int bytes; bytes = NET_TcpSendData(from->sock, request->sendmsg.data + request->sentBytes, request->sendmsg.cursize - request->sentBytes); if(bytes < 0 || bytes > (request->sendmsg.cursize - request->sentBytes)) { return qtrue; } request->sentBytes += bytes; return qfalse; }
qboolean PHandler_TcpSendData(int pID, int connection, void* data, int len) { int state; pluginTcpClientSocket_t* ptcs = &pluginFunctions.plugins[pID].sockets[connection]; if(ptcs->sock < 1){ Com_PrintWarning("Plugin_TcpSendData: called on a non open socket for plugin ID: #%d\n", pID); return qfalse; } state = NET_TcpSendData(ptcs->sock, data, len); if(state == -1) { ptcs->sock = -1; return qfalse; } return qtrue; }
/* =============== NET_TCPData Sends a data message in an out-of-band datagram ================ */ qboolean NET_SendData( int sock, msg_t* msg) { return NET_TcpSendData( sock, msg->data, msg->cursize ); }