blob: 851ead176acbbaf9834ff041defc7c411a7af15c (
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
|
// BufferedSocket.h: interface for the CBufferedSocket class.
//
//////////////////////////////////////////////////////////////////////
#pragma once
#include "ThreadedSocket.h"
class CBufferedSocket : public CThreadedSocket
{
// DECLARE_DYNAMIC(CBufferedSocket)
public:
CBufferedSocket();
virtual ~CBufferedSocket();
void OnReceive( int nErrorCode );
void OnSend( int nErrorCode );
void OnConnect(int nErrorCode);
virtual void OnReceive( char *line );
virtual void Accept(CBufferedSocket& rConnectedSocket,
SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL);
void SetSeparator( char sep );
void Send ( const char * data );
protected:
bool connected; /* wait to be connected before sending any Data */
int separator;
/* buffer de reception de l'application */
long buffer_size;
char *buffer;
char *current_ptr;
// Buffer Emission
CRITICAL_SECTION m_CritSection;
ivy::list<ivy::string> buf_out;
};
|