Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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 ( const Manager )
delete

non-copyable: delete copy-constructor

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 ( 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

void Close ( )

Definition at line 61 of file group.cpp.

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

Group& GetDataGroup ( )
inline

Returns the net::Group for the data manager.

Definition at line 90 of file manager.hpp.

References Manager::groups_.

Group& GetFlowGroup ( )
inline

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

Definition at line 85 of file manager.hpp.

References Manager::groups_.

size_t my_host_rank ( ) const
inline

Definition at line 63 of file manager.hpp.

References Manager::groups_.

Referenced by HostContext::host_rank(), and Context::host_rank().

size_t num_hosts ( ) const
inline

Definition at line 67 of file manager.hpp.

References Manager::groups_.

Referenced by Context::num_hosts().

Manager& operator= ( const Manager )
delete

non-copyable: delete assignment operator

void RunTask ( const std::chrono::steady_clock::time_point &  tp)
finalvirtual

Member Data Documentation

constexpr bool debug = false
staticprivate

Definition at line 55 of file manager.hpp.

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::GetDataGroup(), Manager::GetFlowGroup(), Manager::my_host_rank(), Manager::num_hosts(), Manager::RunTask(), and Manager::Traffic().

constexpr size_t kGroupCount = 2
static

The count of net::Groups to initialize.

Definition at line 61 of file manager.hpp.

Referenced by Manager::Close(), thrill::api::ConstructLoopbackHostContexts(), thrill::api::RunLocalSameThread(), Manager::RunTask(), and Manager::Traffic().

common::JsonLogger& logger_
private

JsonLogger for statistics output.

Definition at line 111 of file manager.hpp.

Referenced by Manager::RunTask().

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: