SST/macro
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Types | List of all members
sstmac::hw::network_message Class Reference

#include <network_message.h>

Inheritance diagram for sstmac::hw::network_message:
Inheritance graph
Collaboration diagram for sstmac::hw::network_message:
Collaboration graph

Public Member Functions

 network_message (sw::app_id aid, node_id toaddr, node_id fromaddr, sw::task_id src, sw::task_id dst, long payload_bytes)
 
 network_message (sw::app_id aid, long payload_bytes)
 
 network_message ()
 
virtual std::string to_string () const
 
virtual ~network_message ()
 
bool is_metadata () const
 
virtual network_messageclone_injection_ack () const
 
virtual void nic_reverse (type_t newtype)
 
bool is_nic_ack () const
 
node_id toaddr () const
 
virtual void put_on_wire ()
 
node_id fromaddr () const
 
void set_toaddr (node_id addr)
 
void set_fromaddr (node_id addr)
 
void set_needs_ack (bool n)
 
virtual bool needs_ack () const
 
virtual void serialize_order (serializer &ser)
 
void convert_to_ack ()
 
void set_net_id (const network_id &id)
 
network_id net_id () const
 
uint64_t unique_id () const
 
sw::task_id source_task () const
 
sw::app_id aid () const
 
sw::task_id dest_task () const
 
type_t type () const
 
void set_type (type_t ty)
 
virtual void reverse ()
 
long byte_length () const
 Virtual function to return size. More...
 
- Public Member Functions inherited from sstmac::message
virtual ~message ()
 
- Public Member Functions inherited from sstmac::event
virtual bool is_packet () const
 convenience methods More...
 
virtual bool is_credit () const
 
virtual bool is_failure () const
 
template<class T >
T * interface ()
 
- Public Member Functions inherited from sprockit::serializable
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual ~serializable ()
 

Static Public Member Functions

static const char * tostr (nic_event_t mut)
 
static const char * tostr (type_t ty)
 

Public Attributes

node_id toaddr_
 
node_id fromaddr_
 

Protected Member Functions

void clone_into (network_message *cln) const
 

Protected Attributes

int app_id_
 
int flow_id_
 
network_id net_id_
 
sw::app_id aid_
 
bool needs_ack_
 
sw::task_id src_task_
 
sw::task_id dest_task_
 
long bytes_
 
type_t type_
 

Private Types

enum  type_t {
  null_netmsg_type =0, rdma_get_request =1, rdma_get_sent_ack =2, rdma_get_nack =3,
  rdma_put_sent_ack =4, rdma_put_nack =5, payload_sent_ack =6, payload =7,
  rdma_get_payload =8, rdma_put_payload =9, nvram_get_request =10, nvram_get_payload =11,
  failure_notification =12
}
 

Additional Inherited Members

- Protected Types inherited from sprockit::serializable
enum  cxn_flag_t { ConstructorFlag }
 

Detailed Description

Definition at line 13 of file network_message.h.

Member Enumeration Documentation

Enumerator
null_netmsg_type 
rdma_get_request 
rdma_get_sent_ack 
rdma_get_nack 
rdma_put_sent_ack 
rdma_put_nack 
payload_sent_ack 
payload 
rdma_get_payload 
rdma_put_payload 
nvram_get_request 
nvram_get_payload 
failure_notification 

Definition at line 26 of file network_message.h.

Constructor & Destructor Documentation

sstmac::hw::network_message::network_message ( sw::app_id  aid,
node_id  toaddr,
node_id  fromaddr,
sw::task_id  src,
sw::task_id  dst,
long  payload_bytes 
)
sstmac::hw::network_message::network_message ( sw::app_id  aid,
long  payload_bytes 
)
sstmac::hw::network_message::network_message ( )

Referenced by clone_injection_ack().

virtual sstmac::hw::network_message::~network_message ( )
inlinevirtual

Definition at line 60 of file network_message.h.

References is_metadata(), and tostr().

Here is the call graph for this function:

Member Function Documentation

sw::app_id sstmac::hw::network_message::aid ( ) const
inline

Definition at line 145 of file network_message.h.

References aid_.

Referenced by sstmac::transport_message::ImplementSerializable().

long sstmac::hw::network_message::byte_length ( ) const
virtual

Virtual function to return size.

Child classes should impement this if they want any size tracked / modeled.

Returns
Zero size, meant to be implemented by children.

Implements sstmac::flow.

Referenced by sstmac::transport_message::ImplementSerializable(), and set_type().

virtual network_message* sstmac::hw::network_message::clone_injection_ack ( ) const
inlinevirtual

Reimplemented in sstmac::transport_message.

Definition at line 72 of file network_message.h.

References clone_into(), is_nic_ack(), network_message(), and nic_reverse().

Here is the call graph for this function:

void sstmac::hw::network_message::clone_into ( network_message cln) const
protected

Referenced by clone_injection_ack().

void sstmac::hw::network_message::convert_to_ack ( )

Referenced by needs_ack().

sw::task_id sstmac::hw::network_message::dest_task ( ) const
inline

Definition at line 150 of file network_message.h.

References dest_task_.

node_id sstmac::hw::network_message::fromaddr ( ) const
inlinevirtual

Implements sstmac::message.

Definition at line 93 of file network_message.h.

References fromaddr_.

bool sstmac::hw::network_message::is_metadata ( ) const

Referenced by ~network_message().

bool sstmac::hw::network_message::is_nic_ack ( ) const

Referenced by clone_injection_ack().

virtual bool sstmac::hw::network_message::needs_ack ( ) const
inlinevirtual

Definition at line 113 of file network_message.h.

References convert_to_ack(), needs_ack_, payload, serialize_order(), and type_.

Here is the call graph for this function:

network_id sstmac::hw::network_message::net_id ( ) const
inline

Definition at line 130 of file network_message.h.

References net_id_.

virtual void sstmac::hw::network_message::nic_reverse ( type_t  newtype)
virtual

Referenced by clone_injection_ack().

virtual void sstmac::hw::network_message::put_on_wire ( )
virtual

Reimplemented in sstmac::transport_message.

Referenced by toaddr().

virtual void sstmac::hw::network_message::reverse ( )
virtual

Reimplemented in sstmac::transport_message.

Referenced by set_type().

virtual void sstmac::hw::network_message::serialize_order ( serializer ser)
virtual

Reimplemented from sstmac::event.

Reimplemented in sstmac::transport_message.

Referenced by needs_ack().

void sstmac::hw::network_message::set_fromaddr ( node_id  addr)
inline

Definition at line 103 of file network_message.h.

References fromaddr_.

void sstmac::hw::network_message::set_needs_ack ( bool  n)
inline

Definition at line 108 of file network_message.h.

References needs_ack_.

void sstmac::hw::network_message::set_net_id ( const network_id id)
inline

Definition at line 125 of file network_message.h.

References net_id_.

void sstmac::hw::network_message::set_toaddr ( node_id  addr)
inline

Definition at line 98 of file network_message.h.

References toaddr_.

void sstmac::hw::network_message::set_type ( type_t  ty)
inline

Definition at line 160 of file network_message.h.

References byte_length(), reverse(), and type_.

Here is the call graph for this function:

sw::task_id sstmac::hw::network_message::source_task ( ) const
inline

Definition at line 140 of file network_message.h.

References src_task_.

virtual std::string sstmac::hw::network_message::to_string ( ) const
inlinevirtual

Implements sstmac::event.

Reimplemented in sstmac::transport_message.

Definition at line 56 of file network_message.h.

node_id sstmac::hw::network_message::toaddr ( ) const
inlinevirtual

Implements sstmac::message.

Definition at line 85 of file network_message.h.

References put_on_wire(), and toaddr_.

Here is the call graph for this function:

static const char* sstmac::hw::network_message::tostr ( nic_event_t  mut)
static

Referenced by ~network_message().

static const char* sstmac::hw::network_message::tostr ( type_t  ty)
static
type_t sstmac::hw::network_message::type ( ) const
inline

Definition at line 155 of file network_message.h.

References type_.

uint64_t sstmac::hw::network_message::unique_id ( ) const
inlinevirtual

Implements sstmac::flow.

Definition at line 135 of file network_message.h.

References net_id_.

Member Data Documentation

sw::app_id sstmac::hw::network_message::aid_
protected

Definition at line 184 of file network_message.h.

Referenced by aid().

int sstmac::hw::network_message::app_id_
protected

Definition at line 179 of file network_message.h.

long sstmac::hw::network_message::bytes_
protected

Definition at line 192 of file network_message.h.

sw::task_id sstmac::hw::network_message::dest_task_
protected
int sstmac::hw::network_message::flow_id_
protected

Definition at line 180 of file network_message.h.

node_id sstmac::hw::network_message::fromaddr_

Definition at line 172 of file network_message.h.

Referenced by fromaddr(), and set_fromaddr().

bool sstmac::hw::network_message::needs_ack_
protected

Definition at line 186 of file network_message.h.

Referenced by needs_ack(), and set_needs_ack().

network_id sstmac::hw::network_message::net_id_
protected

Definition at line 182 of file network_message.h.

Referenced by net_id(), set_net_id(), and unique_id().

sw::task_id sstmac::hw::network_message::src_task_
protected
node_id sstmac::hw::network_message::toaddr_

Definition at line 170 of file network_message.h.

Referenced by set_toaddr(), and toaddr().

type_t sstmac::hw::network_message::type_
protected

Definition at line 194 of file network_message.h.

Referenced by needs_ack(), set_type(), and type().


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