Loading [MathJax]/extensions/tex2jax.js
Thrill  0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Manager Class Referencefinal

Detailed Description

Initializes communication channels, manages communication channels and handles errors.

This class is responsible for initializing the three net::Groups for the major network components, SystemControl, FlowControl and DataManagement,

Definition at line 53 of file manager.hpp.

+ Inheritance diagram for Manager:
+ Collaboration diagram for Manager:

#include <manager.hpp>

Public Member Functions

 Manager (const Manager &)=delete
 non-copyable: delete copy-constructor More...
 
 Manager (std::array< GroupPtr, kGroupCount > &&groups, common::JsonLogger &logger) noexcept
 Construct Manager from already initialized net::Groups. More...
 
 Manager (std::vector< GroupPtr > &&groups, common::JsonLogger &logger) noexcept
 Construct Manager from already initialized net::Groups. More...
 
void Close ()
 
GroupGetDataGroup ()
 Returns the net::Group for the data manager. More...
 
GroupGetFlowGroup ()
 Returns the net::Group for the flow control channel. More...
 
size_t my_host_rank () const
 
size_t num_hosts () const
 
Manageroperator= (const Manager &)=delete
 non-copyable: delete assignment operator More...
 
net::Traffic Traffic () const
 calculate overall traffic for final stats More...
 
Methods for ProfileTask
void RunTask (const std::chrono::steady_clock::time_point &tp) final
 method called by ProfileThread. More...
 
- Public Member Functions inherited from ProfileTask
virtual ~ProfileTask ()
 virtual destructor More...
 

Static Public Attributes

static constexpr size_t kGroupCount = 2
 The count of net::Groups to initialize. More...
 

Private Attributes

std::array< GroupPtr, kGroupCountgroups_
 The Groups initialized and managed by this Manager. More...
 
common::JsonLoggerlogger_
 JsonLogger for statistics output. More...
 
std::chrono::steady_clock::time_point tp_last_
 last time statistics where outputted More...
 

Static Private Attributes

static constexpr bool debug = false
 

Constructor & Destructor Documentation

◆ Manager() [1/3]

Manager ( const Manager )
delete

non-copyable: delete copy-constructor

◆ Manager() [2/3]

Manager ( std::array< GroupPtr, kGroupCount > &&  groups,
common::JsonLogger logger 
)
noexcept

Construct Manager from already initialized net::Groups.

Definition at line 50 of file group.cpp.

◆ Manager() [3/3]

Manager ( std::vector< GroupPtr > &&  groups,
common::JsonLogger logger 
)
noexcept

Construct Manager from already initialized net::Groups.

Definition at line 54 of file group.cpp.

Member Function Documentation

◆ Close()

void Close ( )

Definition at line 61 of file group.cpp.

References Manager::groups_, and Manager::kGroupCount.

◆ GetDataGroup()

Group& GetDataGroup ( )
inline

Returns the net::Group for the data manager.

Definition at line 90 of file manager.hpp.

References Traffic::Traffic().

◆ GetFlowGroup()

Group& GetFlowGroup ( )
inline

Returns the net::Group for the flow control channel.

Definition at line 85 of file manager.hpp.

◆ my_host_rank()

size_t my_host_rank ( ) const
inline

Definition at line 63 of file manager.hpp.

◆ num_hosts()

size_t num_hosts ( ) const
inline

Definition at line 67 of file manager.hpp.

◆ operator=()

Manager& operator= ( const Manager )
delete

non-copyable: delete assignment operator

◆ RunTask()

◆ Traffic()

Member Data Documentation

◆ debug

constexpr bool debug = false
staticprivate

Definition at line 55 of file manager.hpp.

◆ groups_

std::array<GroupPtr, kGroupCount> groups_
private

The Groups initialized and managed by this Manager.

Definition at line 108 of file manager.hpp.

Referenced by Manager::Close(), Manager::RunTask(), and Manager::Traffic().

◆ kGroupCount

constexpr size_t kGroupCount = 2
static

◆ logger_

common::JsonLogger& logger_
private

JsonLogger for statistics output.

Definition at line 111 of file manager.hpp.

Referenced by Manager::RunTask().

◆ tp_last_

std::chrono::steady_clock::time_point tp_last_
private

last time statistics where outputted

Definition at line 114 of file manager.hpp.

Referenced by Manager::RunTask().


The documentation for this class was generated from the following files: