blob: da3a55adf985af139b1854b681ef7c98f8728cbe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/* $Id$ */
/**
* @file tcp.h Basic functions to receive and send TCP packets.
*/
#ifndef NETWORK_CORE_TCP_H
#define NETWORK_CORE_TCP_H
#ifdef ENABLE_NETWORK
#include "os_abstraction.h"
#include "core.h"
#include "packet.h"
/** Base socket handler for all TCP sockets */
class NetworkTCPSocketHandler : public NetworkSocketHandler {
private:
Packet *packet_queue; ///< Packets that are awaiting delivery
Packet *packet_recv; ///< Partially received packet
public:
bool writable; ///< Can we write to this socket?
void Send_Packet(Packet *packet);
bool Send_Packets();
bool IsPacketQueueEmpty();
Packet *Recv_Packet(NetworkRecvStatus *status);
NetworkTCPSocketHandler(SOCKET s = INVALID_SOCKET);
~NetworkTCPSocketHandler();
};
#endif /* ENABLE_NETWORK */
#endif /* NETWORK_CORE_TCP_H */
|