SST/macro
|
#include <packet_flow_sender.h>
Public Member Functions | |
virtual | ~packet_flow_sender () |
void | set_acker (event_handler *acker) |
virtual void | set_input (int my_inport, int dst_outport, event_handler *input)=0 |
virtual void | set_output (int my_outport, int dst_inport, event_handler *output)=0 |
virtual void | init_credits (int port, int num_credits)=0 |
virtual int | num_initial_credits () const =0 |
void | handle_payload (packet_flow_payload *pkt) |
void | set_event_location (node_id nid) |
void | set_event_location (switch_id sid) |
void | set_stat_collector (packet_sent_stats *c) |
std::string | to_string () const |
virtual std::string | packet_flow_name () const =0 |
void | set_update_vc (bool flag) |
Public Member Functions inherited from sstmac::hw::packet_flow_handler | |
packet_flow_handler () | |
virtual | ~packet_flow_handler () |
virtual void | handle (event *ev) |
virtual void | handle_credit (packet_flow_credit *msg)=0 |
int | thread_id () const |
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) |
virtual void | set_event_parent (event_scheduler *m) |
Set the eventmanager for this scheduler. More... | |
event_scheduler * | parent () 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 () |
Protected Member Functions | |
packet_flow_sender (const timestamp &send_lat, const timestamp &credit_lat) | |
packet_flow_sender () | |
void | send_credit (const packet_flow_input &src, packet_flow_payload *payload, timestamp packet_tail_leaves) |
void | send (packet_flow_bandwidth_arbitrator *arb, packet_flow_payload *pkt, const packet_flow_input &src, const packet_flow_output &dest) |
virtual void | do_handle_payload (packet_flow_payload *pkt)=0 |
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 | |
packet_sent_stats * | stat_collector_ |
event_handler * | acker_ |
timestamp | send_lat_ |
timestamp | credit_lat_ |
bool | update_vc_ |
Protected Attributes inherited from sstmac::event_subscheduler | |
event_scheduler * | parent_ |
Additional Inherited Members | |
Static Public Attributes inherited from sstmac::event_handler | |
static const int | null_lpid = -1 |
static const int | null_threadid = -1 |
Definition at line 17 of file packet_flow_sender.h.
|
inlinevirtual |
Definition at line 21 of file packet_flow_sender.h.
|
protected |
|
protected |
Referenced by set_update_vc().
|
protectedpure virtual |
Implemented in sstmac::hw::packet_flow_injection_buffer, sstmac::hw::packet_flow_eject_buffer, sstmac::hw::packet_flow_network_buffer, and sstmac::hw::packet_flow_NtoM_queue.
Referenced by handle_payload(), sstmac::hw::packet_flow_eject_buffer::packet_flow_eject_buffer(), set_update_vc(), sstmac::hw::packet_flow_injection_buffer::space_to_send(), and sstmac::hw::packet_flow_network_buffer::~packet_flow_network_buffer().
|
inlinevirtual |
Implements sstmac::hw::packet_flow_handler.
Definition at line 43 of file packet_flow_sender.h.
References do_handle_payload(), and sstmac::event_subscheduler::now().
|
pure virtual |
Implemented in sstmac::hw::packet_flow_injection_buffer, sstmac::hw::packet_flow_eject_buffer, sstmac::hw::packet_flow_network_buffer, and sstmac::hw::packet_flow_NtoM_queue.
Referenced by sstmac::hw::packet_flow_eject_buffer::packet_flow_name(), set_acker(), and sstmac::hw::packet_flow_network_buffer::~packet_flow_network_buffer().
|
pure virtual |
Implemented in sstmac::hw::packet_flow_infinite_buffer, sstmac::hw::packet_flow_finite_buffer, and sstmac::hw::packet_flow_NtoM_queue.
Referenced by set_acker(), and sstmac::hw::packet_flow_infinite_buffer::set_input().
|
pure virtual |
|
protected |
Referenced by set_update_vc().
|
protected |
Referenced by set_update_vc().
|
inline |
Definition at line 24 of file packet_flow_sender.h.
References acker_, init_credits(), num_initial_credits(), set_input(), and set_output().
|
inline |
Definition at line 49 of file packet_flow_sender.h.
References sstmac::event_handler::init_loc_id().
|
inline |
Definition at line 54 of file packet_flow_sender.h.
References sstmac::event_handler::init_loc_id().
|
pure virtual |
|
pure virtual |
Implemented in sstmac::hw::packet_flow_NtoM_queue, and sstmac::hw::packet_flow_buffer.
Referenced by set_acker().
|
inline |
Definition at line 59 of file packet_flow_sender.h.
References packet_flow_name(), stat_collector_, and to_string().
|
inline |
Definition at line 70 of file packet_flow_sender.h.
References do_handle_payload(), packet_flow_sender(), send(), send_credit(), and update_vc_.
|
virtual |
Reimplemented from sstmac::hw::packet_flow_handler.
Referenced by set_stat_collector().
|
protected |
Definition at line 98 of file packet_flow_sender.h.
Referenced by set_acker().
|
protected |
Definition at line 102 of file packet_flow_sender.h.
|
protected |
Definition at line 100 of file packet_flow_sender.h.
|
protected |
Definition at line 96 of file packet_flow_sender.h.
Referenced by set_stat_collector().
|
protected |
Definition at line 104 of file packet_flow_sender.h.
Referenced by set_update_vc().