70 inline const int Port()
const {
return m_SockAddr.
m_Port; };
99 void HandleSocketError(
SOCKET& rConnectedSocket,
const string& ErrorStr=
"ERROR",
const string& Where=
"CHost::HandleSocketError()");
120 virtual bool Close(
SOCKET& rConnectedSocket,
bool linger=
false,
int timeout=5);
130 virtual void ClientError(
int code=-1,
const string& msg=
"");
137 extern bool LoadHosts (
string Path, vector<CHost>& Hosts);
virtual string ProcessSocketString(const string &S, int &rConnectedSocket)
Definition: CHost.cpp:239
bool m_bRespond
moo: whether current request has a real (possibly empty) response
Definition: CHost.h:39
bool IsListening() const
Definition: CHost.h:80
#define SOCKET
Definition: string_socket.h:66
mode_t m_UnixSocketPerms
permissions mask for unix socket (defualt=0: OS-default = 0777&~umask())
Definition: CHost.h:43
bool CloseListenSocket(int timeout=0)
Definition: CHost.cpp:211
virtual void CreateListener()
Definition: CHost.cpp:373
string m_LocalPath
path to local project-file (ddc_local_corpora.cfg) or label of parent branch node (ddc_server...
Definition: CHost.h:41
void CopyAddressParametersFrom(const CHost &X)
Definition: CHost.cpp:405
Definition: string_socket.h:81
bool m_bListen
Definition: CHost.h:33
virtual void HandleClientConnection(int &rConnectedSocket)
Definition: CHost.cpp:185
CSocketAddr m_SockAddr
socket address (tcp or UNIX); formerly m_HostAddr, m_Port, m_SocketPath
Definition: CHost.h:37
string m_CorpusName
full node label, including optional "server:" prefix
Definition: CHost.h:49
bool m_bExpectMore
moo: whether to expect more requests from current client
Definition: CHost.h:38
bool LoadHosts(string Path, vector< CHost > &Hosts)
Definition: CHost.cpp:418
const string & HostAddr() const
Definition: CHost.h:69
void HandleSocketError(int &rConnectedSocket, const string &ErrorStr="ERROR", const string &Where="CHost::HandleSocketError()")
Definition: CHost.cpp:164
virtual ~CHost()
Definition: CHost.cpp:44
bool GetRequest(int &rConnectedSocket, int TimeOut, string &Request)
Definition: CHost.cpp:115
void StopListening()
Definition: CHost.cpp:205
const CSocketAddr & SocketAddr() const
Definition: CHost.h:68
bool ReadFromString(string S)
Definition: CHost.cpp:58
generic socket host wrapper class irritatingly also used for client connections
Definition: CHost.h:31
void InitShortName()
Definition: CHost.cpp:395
virtual void RunThread()
Definition: CHost.cpp:276
int m_ListenSocket
Definition: CHost.h:34
bool InitEmbedded(const CHost &)
Definition: CHost.cpp:86
int CreateAndConnectSocket(string &strError) const
Definition: CHost.cpp:109
bool CheckValidAddr() const
Definition: CHost.cpp:52
void HandleClientRequest(int &rConnectedSocket, int TimeOut)
Definition: CHost.cpp:174
bool m_bLogFinish
moo: whether to log connection completion
Definition: CHost.h:40
uint32_t m_maxReceiveBytes
maximum receivable packet length (default=0: no limit)
Definition: CHost.h:42
const int Port() const
Definition: CHost.h:70
const string & GetLocalPathOfIndex() const
Definition: CHost.cpp:389
int CreateSocket(bool bBind, string &strError) const
Definition: CHost.cpp:96
virtual bool Close(int &rConnectedSocket, bool linger=false, int timeout=5)
Definition: CHost.cpp:270
virtual void ClientError(int code=-1, const string &msg="")
Definition: CHost.cpp:251
int m_Port
unix:filler, tcp:port number
Definition: string_socket.h:85
CHost()
Definition: CHost.cpp:31
string m_ShortName
short node label, without optional "server:" prefix
Definition: CHost.h:50
void SendResponse(int &rConnectedSocket, const string &Result)
Definition: CHost.cpp:140
string m_Addr
unix:filesystem path, tcp:host address
Definition: string_socket.h:84
string GetAddressStr() const
Definition: CHost.cpp:383