Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::ActiveMessageHandlerTable Class Reference

#include <activemsg.h>

Collaboration diagram for Realm::ActiveMessageHandlerTable:

Classes

struct  HandlerEntry
 

Public Types

typedef unsigned short MessageID
 
typedef void(* MessageHandler) (NodeID sender, const void *header, const void *payload, size_t payload_size, TimeLimit work_until)
 
typedef void(* MessageHandlerNoTimeout) (NodeID sender, const void *header, const void *payload, size_t payload_size)
 
typedef bool(* MessageHandlerInline) (NodeID sender, const void *header, const void *payload, size_t payload_size, TimeLimit work_until)
 
typedef unsigned TypeHash
 

Public Member Functions

 ActiveMessageHandlerTable (void)
 
 ~ActiveMessageHandlerTable (void)
 
template<typename T >
MessageID lookup_message_id (void) const
 
const char * lookup_message_name (MessageID id)
 
void record_message_handler_call (MessageID id, long long t_start, long long t_end)
 
void report_message_handler_stats ()
 
void construct_handler_table (void)
 
HandlerEntrylookup_message_handler (MessageID id)
 

Static Public Member Functions

static void append_handler_reg (ActiveMessageHandlerRegBase *new_reg)
 

Protected Attributes

std::vector< HandlerEntryhandlers
 

Static Protected Attributes

static ActiveMessageHandlerRegBasepending_handlers
 

Member Typedef Documentation

◆ MessageHandler

typedef void(* Realm::ActiveMessageHandlerTable::MessageHandler) (NodeID sender, const void *header, const void *payload, size_t payload_size, TimeLimit work_until)

◆ MessageHandlerInline

typedef bool(* Realm::ActiveMessageHandlerTable::MessageHandlerInline) (NodeID sender, const void *header, const void *payload, size_t payload_size, TimeLimit work_until)

◆ MessageHandlerNoTimeout

typedef void(* Realm::ActiveMessageHandlerTable::MessageHandlerNoTimeout) (NodeID sender, const void *header, const void *payload, size_t payload_size)

◆ MessageID

◆ TypeHash

Constructor & Destructor Documentation

◆ ActiveMessageHandlerTable()

Realm::ActiveMessageHandlerTable::ActiveMessageHandlerTable ( void  )

◆ ~ActiveMessageHandlerTable()

Realm::ActiveMessageHandlerTable::~ActiveMessageHandlerTable ( void  )

Member Function Documentation

◆ append_handler_reg()

static void Realm::ActiveMessageHandlerTable::append_handler_reg ( ActiveMessageHandlerRegBase new_reg)
static

◆ construct_handler_table()

void Realm::ActiveMessageHandlerTable::construct_handler_table ( void  )

◆ lookup_message_handler()

HandlerEntry * Realm::ActiveMessageHandlerTable::lookup_message_handler ( MessageID  id)

◆ lookup_message_id()

template<typename T >
MessageID Realm::ActiveMessageHandlerTable::lookup_message_id ( void  ) const

◆ lookup_message_name()

const char * Realm::ActiveMessageHandlerTable::lookup_message_name ( MessageID  id)

◆ record_message_handler_call()

void Realm::ActiveMessageHandlerTable::record_message_handler_call ( MessageID  id,
long long  t_start,
long long  t_end 
)

◆ report_message_handler_stats()

void Realm::ActiveMessageHandlerTable::report_message_handler_stats ( )

Member Data Documentation

◆ handlers

std::vector<HandlerEntry> Realm::ActiveMessageHandlerTable::handlers
protected

◆ pending_handlers

ActiveMessageHandlerRegBase* Realm::ActiveMessageHandlerTable::pending_handlers
staticprotected

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