Thrill  0.1
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: