18 #ifndef UTHREADS_CLUSTER_H_ 19 #define UTHREADS_CLUSTER_H_ 25 #include "../generic/basics.h" 26 #include "../generic/IntrusiveContainers.h" 65 friend class IOHandler;
66 friend class Scheduler;
74 ClusterVar* clustervar;
78 static std::vector<Cluster*> clusterList;
85 std::atomic<size_t> ktLast;
87 std::atomic_uint numberOfkThreads;
91 std::vector<kThread*> ktVector;
97 static std::atomic_ushort clusterMasterID;
111 void initialSynchronization();
144 return defaultCluster;
159 return numberOfkThreads.load();
static Cluster & getDefaultCluster()
Definition: Cluster.h:143
const Cluster & operator=(const Cluster &)=delete
Cluster()
Definition: Cluster.cpp:26
uint64_t getID() const
Get the ID of Cluster.
Definition: Cluster.h:151
Object to represent kernel threads.
Definition: kThread.h:54
size_t getNumberOfkThreads() const
Total number of kThreads belonging to this cluster.
Definition: Cluster.h:158
user-level threads (fiber)
Definition: uThread.h:63
Scheduler and Cluster of kThreads.
Definition: Cluster.h:61
Represents a network connection.
Definition: Network.h:33