NCBI C++ ToolKit
sockets_man.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef NETCACHE__SOCKETS_MAN__HPP
2 #define NETCACHE__SOCKETS_MAN__HPP
3 /* $Id: sockets_man.hpp 76997 2017-03-17 13:19:30Z gouriano $
4  * ===========================================================================
5  *
6  * PUBLIC DOMAIN NOTICE
7  * National Center for Biotechnology Information
8  *
9  * This software/database is a "United States Government Work" under the
10  * terms of the United States Copyright Act. It was written as part of
11  * the author's official duties as a United States Government employee and
12  * thus cannot be copyrighted. This software/database is freely available
13  * to the public for use. The National Library of Medicine and the U.S.
14  * Government have not placed any restriction on its use or reproduction.
15  *
16  * Although all reasonable efforts have been taken to ensure the accuracy
17  * and reliability of the software and data, the NLM and the U.S.
18  * Government do not and cannot warrant the performance or results that
19  * may be obtained by using this software or data. The NLM and the U.S.
20  * Government disclaim all warranties, express or implied, including
21  * warranties of performance, merchantability or fitness for any particular
22  * purpose.
23  *
24  * Please cite the author in any work or product based on this material.
25  *
26  * ===========================================================================
27  *
28  * Authors: Pavel Ivanov
29  *
30  * File Description:
31  */
32 
33 
34 #include "task_server.hpp"
35 
36 
38 
39 
40 struct SSrvThread;
41 struct SSocketsData;
42 
43 
44 void ConfigureSockets(const CNcbiRegistry* reg, CTempString section);
45 bool ReConfig_Sockets(const CTempString& section, const CNcbiRegistry& new_reg, string& err_message);
47 bool InitSocketsMan(void);
48 bool StartSocketsMan(void);
49 void DoSocketWait(void);
50 void FinalizeSocketsMan(void);
53 void MoveAllSockets(SSocketsData* dst_socks, SSocketsData* src_socks);
54 void PromoteSockAmount(SSocketsData* socks);
56 void CleanSocketList(SSocketsData* socks);
58 void RequestStopListening(void);
59 
60 
62 
63 #endif /* NETCACHE__SOCKETS_MAN__HPP */
CNcbiRegistry –.
Definition: ncbireg.hpp:913
Task controlling a socket.
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
Definition: tempstr.hpp:65
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
void CheckConnectsTimeout(SSocketsData *socks)
void ReleaseThreadSocks(SSrvThread *thr)
void RequestStopListening(void)
bool InitSocketsMan(void)
bool StartSocketsMan(void)
void MoveAllSockets(SSocketsData *dst_socks, SSocketsData *src_socks)
void ConfigureSockets(const CNcbiRegistry *reg, CTempString section)
void AssignThreadSocks(SSrvThread *thr)
void CleanSocketList(SSocketsData *socks)
void DoSocketWait(void)
void WriteSetup_Sockets(CSrvSocketTask &task)
bool ReConfig_Sockets(const CTempString &section, const CNcbiRegistry &new_reg, string &err_message)
void SetAllSocksRunnable(SSocketsData *socks)
void PromoteSockAmount(SSocketsData *socks)
void FinalizeSocketsMan(void)
Per-thread structure containing information about sockets.
CRef< CTestThread > thr[k_NumThreadsMax]
Definition: test_mt.cpp:267
Modified on Wed Apr 24 14:15:39 2024 by modify_doxy.py rev. 669887