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

#include <packet_flow_nic.h>

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

Public Member Functions

 packet_flow_netlink (sprockit::factory_type *interconn)
 
virtual ~packet_flow_netlink ()
 
std::string to_string () const
 
void init_factory_params (sprockit::sim_parameters *params)
 
void connect (int src_outport, int dst_inport, connection_type_t ty, connectable *mod, config *cfg)
 connect More...
 
void deadlock_check ()
 
void set_event_parent (event_scheduler *m)
 Set the eventmanager for this scheduler. More...
 
void handle (event *ev)
 
event_handlerejector ()
 
int initial_credits () const
 
event_handlerinjector ()
 
- Public Member Functions inherited from sprockit::factory_type
virtual void init_factory_params (sim_parameters *params)
 
virtual void finalize_init ()
 
- Public Member Functions inherited from sstmac::event_subscheduler
 event_subscheduler ()
 
timestamp now () const
 get the current time More...
 
void schedule (timestamp t, event_handler *handler, event *ev)
 Add an event to the event queue, where msg will get delivered to handler at time t. More...
 
void schedule (timestamp t, event_queue_entry *ev)
 
void schedule_now (event_queue_entry *ev)
 
void schedule_now (event_handler *handler, event *ev)
 
void schedule_delay (timestamp delay, event_handler *handler, event *ev)
 
void schedule_delay (timestamp delay, event_queue_entry *ev)
 
void send_self_event (timestamp arrival, event *ev)
 
void send_delayed_self_event (timestamp delay, event *ev)
 
void send_now_self_event (event *ev)
 
void send_self_event_queue (timestamp arrival, event_queue_entry *ev)
 
void send_delayed_self_event_queue (timestamp delay, event_queue_entry *ev)
 
void send_now_self_event_queue (event_queue_entry *ev)
 
event_schedulerparent () const
 
- Public Member Functions inherited from sstmac::event_handler
virtual ~event_handler ()
 
event_loc_id event_location () const
 
virtual bool ipc_handler () const
 Whether an event handler is a "fake" handler that represents logical process boundary. More...
 
int thread_id () const
 
virtual void deadlock_check (event *ev)
 

Private Member Functions

void init ()
 

Private Attributes

packet_flow_crossbarblock_
 
int tile_rotater_
 
bool inited_
 

Static Private Attributes

static const int really_big_buffer
 

Additional Inherited Members

- Public Types inherited from sstmac::hw::connectable
enum  config_type_t {
  RedundantConnection =0, WeightedConnection =1, FixedBandwidthConnection =2, FixedConnection =3,
  BasicConnection =4
}
 
enum  connection_type_t { output, input }
 
- Static Public Member Functions inherited from sstmac::hw::connectable
static const char * str (connection_type_t ty)
 
- Static Public Attributes inherited from sstmac::hw::connectable
static const int any_port = -1
 
- Static Public Attributes inherited from sstmac::event_handler
static const int null_lpid = -1
 
static const int null_threadid = -1
 
- Protected Member Functions inherited from sstmac::event_handler
 event_handler ()
 
void init_loc_id (event_loc_id id)
 
void init_thread_id (int id)
 
- Protected Attributes inherited from sstmac::event_subscheduler
event_schedulerparent_
 

Detailed Description

Definition at line 88 of file packet_flow_nic.h.

Constructor & Destructor Documentation

sstmac::hw::packet_flow_netlink::packet_flow_netlink ( sprockit::factory_type interconn)
inline

Definition at line 93 of file packet_flow_nic.h.

virtual sstmac::hw::packet_flow_netlink::~packet_flow_netlink ( )
virtual

Member Function Documentation

void sstmac::hw::packet_flow_netlink::connect ( int  src_outport,
int  dst_inport,
connection_type_t  ty,
connectable mod,
config cfg 
)
virtual

connect

Parameters
src_outportThe outgoing port at the source
dst_inportThe incoming port at the destination
tyWhether we are configuring the input or output direction
modThe device currently being connected
cfgA struct with various special configuration options

Implements sstmac::hw::connectable.

void sstmac::hw::packet_flow_netlink::deadlock_check ( )
virtual

Reimplemented from sstmac::event_handler.

event_handler* sstmac::hw::packet_flow_netlink::ejector ( )
inline

Definition at line 129 of file packet_flow_nic.h.

References sstmac::init().

Here is the call graph for this function:

void sstmac::hw::packet_flow_netlink::handle ( event ev)
virtual

Reimplemented from sstmac::event_subscheduler.

void sstmac::hw::packet_flow_netlink::init ( )
private
void sstmac::hw::packet_flow_netlink::init_factory_params ( sprockit::sim_parameters *  params)
virtual

Reimplemented from sstmac::hw::netlink.

int sstmac::hw::packet_flow_netlink::initial_credits ( ) const
inline

Definition at line 135 of file packet_flow_nic.h.

event_handler* sstmac::hw::packet_flow_netlink::injector ( )
inline

Definition at line 140 of file packet_flow_nic.h.

References sstmac::init().

Here is the call graph for this function:

void sstmac::hw::packet_flow_netlink::set_event_parent ( event_scheduler m)
virtual

Set the eventmanager for this scheduler.

Unfortunately, this always has to be called after an event_scheduler is constructed.

Parameters
mthe simulation eventmanager

Reimplemented from sstmac::event_subscheduler.

std::string sstmac::hw::packet_flow_netlink::to_string ( ) const
inlinevirtual

Member Data Documentation

packet_flow_crossbar* sstmac::hw::packet_flow_netlink::block_
private

Definition at line 150 of file packet_flow_nic.h.

bool sstmac::hw::packet_flow_netlink::inited_
private

Definition at line 152 of file packet_flow_nic.h.

const int sstmac::hw::packet_flow_netlink::really_big_buffer
staticprivate

Definition at line 149 of file packet_flow_nic.h.

int sstmac::hw::packet_flow_netlink::tile_rotater_
private

Definition at line 151 of file packet_flow_nic.h.


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