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

Go to the SVN repository for this file.

1 #ifndef NETCACHE__SCHEDULER__HPP
2 #define NETCACHE__SCHEDULER__HPP
3 /* $Id: scheduler.hpp 83741 2018-09-14 12:35:21Z 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 namespace intr = boost::intrusive;
35 
36 
38 
39 
40 struct SSrvThread;
41 
42 
43 void ConfigureScheduler(const CNcbiRegistry* reg, CTempString section);
44 bool ReConfig_Scheduler(const CTempString& section, const CNcbiRegistry& new_reg, string& err_message);
49 void SchedCheckOverloads(void);
52 bool SchedIsAllIdle(void);
53 void MarkTaskTerminated(CSrvTask* task, bool immediate = true);
54 
55 
57 
58 #endif /* NETCACHE__SCHEDULER__HPP */
CNcbiRegistry –.
Definition: ncbireg.hpp:913
Task controlling a socket.
Main working entity in TaskServer.
Definition: srv_tasks.hpp:88
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
Definition: tempstr.hpp:65
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
bool ReConfig_Scheduler(const CTempString &section, const CNcbiRegistry &new_reg, string &err_message)
Definition: scheduler.cpp:573
void MarkTaskTerminated(CSrvTask *task, bool immediate=true)
Definition: scheduler.cpp:466
void SchedStartJiffy(SSrvThread *thr)
Definition: scheduler.cpp:389
void ConfigureScheduler(const CNcbiRegistry *reg, CTempString section)
Definition: scheduler.cpp:566
Uint4 GetDefaultTaskPriority(void)
Definition: scheduler.cpp:587
void ReleaseThreadSched(SSrvThread *thr)
Definition: scheduler.cpp:602
void AssignThreadSched(SSrvThread *thr)
Definition: scheduler.cpp:593
void WriteSetup_Scheduler(CSrvSocketTask &task)
Definition: scheduler.cpp:579
bool SchedIsAllIdle(void)
Definition: scheduler.cpp:437
void SchedCheckOverloads(void)
Definition: scheduler.cpp:351
void SchedExecuteTask(SSrvThread *thr)
Definition: scheduler.cpp:521
CRef< CTestThread > thr[k_NumThreadsMax]
Definition: test_mt.cpp:267
Modified on Tue Apr 23 07:38:31 2024 by modify_doxy.py rev. 669887