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

#include <packet_flow_memory_model.h>

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

Public Member Functions

 packet_flow_memory_packetizer ()
 
 ~packet_flow_memory_packetizer ()
 
std::string packet_flow_name () const
 
void recv_credit (packet_flow_credit *credit)
 
void recv_packet (packet_flow_payload *pkt)
 
virtual void init_factory_params (sprockit::sim_parameters *params)
 
void finalize_init ()
 
void inject (int vn, long bytes, long byte_offset, message *payload)
 
bool spaceToSend (int vn, int num_bits) const
 
- Public Member Functions inherited from sstmac::hw::packet_flow_packetizer
void handle (event *ev)
 
- Public Member Functions inherited from sstmac::hw::packetizer
virtual ~packetizer ()
 
void start (int vn, message *payload)
 
void packetArrived (int vn, packet *pkt)
 
void sendWhatYouCan (int vn)
 
void setNotify (packetizer_callback *handler)
 
int packetSize () const
 
- Public Member Functions inherited from sprockit::factory_type
virtual void init_factory_params (sim_parameters *params)
 
- Public Member Functions inherited from sstmac::event_subscheduler
 event_subscheduler ()
 
timestamp now () const
 get the current time More...
 
virtual std::string to_string () const
 
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)
 
virtual void set_event_parent (event_scheduler *m)
 Set the eventmanager for this scheduler. More...
 
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)
 
virtual void deadlock_check ()
 

Private Member Functions

void handle_payload (int vn, packet_flow_payload *pkt)
 
void init_noise_model ()
 

Private Attributes

double max_bw_
 
double max_single_bw_
 
timestamp latency_
 
packet_flow_bandwidth_arbitratorarb_
 
noise_modelbw_noise_
 
noise_modelinterval_noise_
 
int num_noisy_intervals_
 
packet_allocatorpkt_allocator_
 

Additional Inherited Members

- 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::hw::packetizer
 packetizer ()
 
void bytesArrived (int vn, uint64_t unique_id, int bytes, message *parent)
 
- 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 58 of file packet_flow_memory_model.h.

Constructor & Destructor Documentation

sstmac::hw::packet_flow_memory_packetizer::packet_flow_memory_packetizer ( )
sstmac::hw::packet_flow_memory_packetizer::~packet_flow_memory_packetizer ( )

Member Function Documentation

void sstmac::hw::packet_flow_memory_packetizer::finalize_init ( )
virtual

Reimplemented from sprockit::factory_type.

void sstmac::hw::packet_flow_memory_packetizer::handle_payload ( int  vn,
packet_flow_payload *  pkt 
)
private
virtual void sstmac::hw::packet_flow_memory_packetizer::init_factory_params ( sprockit::sim_parameters *  params)
virtual

Reimplemented from sstmac::hw::packetizer.

void sstmac::hw::packet_flow_memory_packetizer::init_noise_model ( )
private
void sstmac::hw::packet_flow_memory_packetizer::inject ( int  vn,
long  bytes,
long  byte_offset,
message payload 
)
virtual
std::string sstmac::hw::packet_flow_memory_packetizer::packet_flow_name ( ) const
inline

Definition at line 66 of file packet_flow_memory_model.h.

void sstmac::hw::packet_flow_memory_packetizer::recv_credit ( packet_flow_credit *  credit)
virtual
void sstmac::hw::packet_flow_memory_packetizer::recv_packet ( packet_flow_payload *  pkt)
inlinevirtual

Implements sstmac::hw::packet_flow_packetizer.

Definition at line 74 of file packet_flow_memory_model.h.

bool sstmac::hw::packet_flow_memory_packetizer::spaceToSend ( int  vn,
int  num_bits 
) const
inlinevirtual

Implements sstmac::hw::packetizer.

Definition at line 83 of file packet_flow_memory_model.h.

Member Data Documentation

packet_flow_bandwidth_arbitrator* sstmac::hw::packet_flow_memory_packetizer::arb_
private

Definition at line 98 of file packet_flow_memory_model.h.

noise_model* sstmac::hw::packet_flow_memory_packetizer::bw_noise_
private

Definition at line 99 of file packet_flow_memory_model.h.

noise_model* sstmac::hw::packet_flow_memory_packetizer::interval_noise_
private

Definition at line 100 of file packet_flow_memory_model.h.

timestamp sstmac::hw::packet_flow_memory_packetizer::latency_
private

Definition at line 97 of file packet_flow_memory_model.h.

double sstmac::hw::packet_flow_memory_packetizer::max_bw_
private

Definition at line 95 of file packet_flow_memory_model.h.

double sstmac::hw::packet_flow_memory_packetizer::max_single_bw_
private

Definition at line 96 of file packet_flow_memory_model.h.

int sstmac::hw::packet_flow_memory_packetizer::num_noisy_intervals_
private

Definition at line 101 of file packet_flow_memory_model.h.

packet_allocator* sstmac::hw::packet_flow_memory_packetizer::pkt_allocator_
private

Definition at line 102 of file packet_flow_memory_model.h.


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