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

#include <packet_flow_crossbar.h>

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

Public Member Functions

 packet_flow_crossbar (timestamp send_lat, timestamp credit_lat, double out_bw, int num_vc, int buffer_size, packet_flow_bandwidth_arbitrator *arb)
 
 packet_flow_crossbar (timestamp send_lat, timestamp credit_lat, int num_vc, int buffer_size, const char *name=0)
 
std::string packet_flow_name () const
 
- Public Member Functions inherited from sstmac::hw::packet_flow_NtoM_queue
virtual ~packet_flow_NtoM_queue ()
 
 packet_flow_NtoM_queue (timestamp send_lat, timestamp credit_lat, double out_bw, int num_vc, int buffer_size, packet_flow_bandwidth_arbitrator *arb)
 
 packet_flow_NtoM_queue (timestamp send_lat, timestamp credit_lat, int num_vc, int buffer_size)
 
int thread_id () const
 
virtual void do_handle_payload (packet_flow_payload *pkt)
 
void set_input (int my_inport, int src_outport, event_handler *input)
 
void set_output (int my_outport, int dst_inport, event_handler *output)
 
virtual void handle_credit (packet_flow_credit *msg)
 
virtual void start_message (message *msg)
 
void init_credits (int port, int num_credits)
 
int num_initial_credits () const
 
int buffer_size () const
 
void configure_mod_ports (int mod)
 
void configure_div_ports (int div, int max_port)
 
void configure_offset_ports (int offset, int max_port)
 
void configure_basic_ports (int num_ports)
 
int local_port (int port) const
 
int local_slot (int port, int vc) const
 
packet_flow_bandwidth_arbitrator *& port_arbitrator (int port)
 
void deadlock_check ()
 
void deadlock_check (event *ev)
 
- Public Member Functions inherited from sstmac::hw::packet_flow_sender
virtual ~packet_flow_sender ()
 
void set_acker (event_handler *acker)
 
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
 
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)
 
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_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
 

Private Attributes

const char * name_
 

Additional Inherited Members

- Static Public Attributes inherited from sstmac::event_handler
static const int null_lpid = -1
 
static const int null_threadid = -1
 
- Protected Types inherited from sstmac::hw::packet_flow_NtoM_queue
typedef std::list< requestbuffer_request_list
 
typedef spkt_unordered_map< int, buffer_request_listxbar_request_map
 
typedef spkt_unordered_map< int, packet_flow_inputinput_map
 
typedef std::vector< packet_flow_outputoutput_map
 
typedef std::vector< int > credit_map
 
typedef std::vector< payload_queuequeue_map
 
- Protected Member Functions inherited from sstmac::hw::packet_flow_NtoM_queue
void handle_routed_payload (packet_flow_payload *pkt)
 
void send_payload (packet_flow_payload *pkt)
 
void build_blocked_messages ()
 
- Protected Member Functions inherited from sstmac::hw::packet_flow_sender
 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)
 
- 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::hw::packet_flow_NtoM_queue
packet_flow_bandwidth_arbitratorarb_tmpl_
 
std::vector< packet_flow_bandwidth_arbitrator * > port_arbitrators_
 
input_map inputs_
 
output_map outputs_
 
credit_map credits_
 
queue_map queues_
 
int num_vc_
 
int buffer_size_
 
int port_offset_
 
int port_div_
 
int port_mod_
 
double out_bw_
 
std::map< int, std::set< int > > deadlocked_channels_
 
std::map< int, std::map< int, std::list< packet_flow_payload * > > > blocked_messages_
 
- Protected Attributes inherited from sstmac::hw::packet_flow_sender
packet_sent_statsstat_collector_
 
event_handleracker_
 
timestamp send_lat_
 
timestamp credit_lat_
 
bool update_vc_
 
- Protected Attributes inherited from sstmac::event_subscheduler
event_schedulerparent_
 

Detailed Description

Definition at line 219 of file packet_flow_crossbar.h.

Constructor & Destructor Documentation

sstmac::hw::packet_flow_crossbar::packet_flow_crossbar ( timestamp  send_lat,
timestamp  credit_lat,
double  out_bw,
int  num_vc,
int  buffer_size,
packet_flow_bandwidth_arbitrator arb 
)
sstmac::hw::packet_flow_crossbar::packet_flow_crossbar ( timestamp  send_lat,
timestamp  credit_lat,
int  num_vc,
int  buffer_size,
const char *  name = 0 
)

Member Function Documentation

std::string sstmac::hw::packet_flow_crossbar::packet_flow_name ( ) const
inlinevirtual

Implements sstmac::hw::packet_flow_sender.

Definition at line 239 of file packet_flow_crossbar.h.

Member Data Documentation

const char* sstmac::hw::packet_flow_crossbar::name_
private

Definition at line 245 of file packet_flow_crossbar.h.


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