Updated init script.
[dtbartle/bnbt.git] / client.h
1 //\r
2 // Copyright (C) 2003-2004 Trevor Hogan\r
3 //\r
4 \r
5 #ifndef CLIENT_H\r
6  #define CLIENT_H\r
7 \r
8 #define COMPRESS_NONE           0\r
9 #define COMPRESS_DEFLATE        1\r
10 #define COMPRESS_GZIP           2\r
11 \r
12 #define CS_RECEIVING            0\r
13 #define CS_WAITING1                     1\r
14 #define CS_PROCESSING           2\r
15 #define CS_WAITING2                     3\r
16 #define CS_SENDING                      4\r
17 #define CS_DEAD                         5\r
18 \r
19 class CClient\r
20 {\r
21 public:\r
22         CClient( SOCKET sckClient, struct sockaddr_in sinAddress, struct timeval tvTimeOut, int iCompression );\r
23         virtual ~CClient( );\r
24 \r
25         void StartReceiving( );\r
26         void Process( );\r
27         void StartSending( );\r
28 \r
29         int m_iState;\r
30 \r
31 private:\r
32         SOCKET m_sckClient;\r
33 \r
34         struct timeval m_tvTimeOut;\r
35         int m_iCompression;\r
36         string m_strReceiveBuf;\r
37         struct request_t rqst;\r
38         struct response_t rsp;\r
39         bool m_bKeepAlive;\r
40 };\r
41 \r
42 void StartReceiving( CClient *pClient );\r
43 void StartSending( CClient *pClient );\r
44 \r
45 #endif\r