73 set_input(
int this_inport,
int src_outport,
94 size_bytes_(max_num_bytes),
156 return "network buffer";
169 void build_blocked_messages();
195 return_credit(
packet* msg);
202 return "eject buffer";
227 return credits_ >= bytes;
238 return "inject buffer";
packet_flow_bandwidth_arbitrator * arb_
static const int my_outport
std::string packet_flow_name() const
packet_flow_output output_
std::vector< payload_queue > queues_
int num_initial_credits() const
std::string buffer_string(const char *name) const
std::string packet_flow_name() const
std::map< int, std::list< packet_flow_payload * > > blocked_messages_
virtual void set_input(int my_inport, int dst_outport, event_handler *input)=0
bool space_to_send(int bytes) const
event_loc_id input_location() const
packet_flow_infinite_buffer()
virtual void init_credits(int port, int num_credits)=0
virtual ~packet_flow_infinite_buffer()
event_loc_id output_location() const
packet_flow_finite_buffer(const timestamp &send_lat, const timestamp &credit_lat, int max_num_bytes, packet_flow_bandwidth_arbitrator *arb)
void set_input(int my_inport, int dst_outport, event_handler *input)
virtual ~packet_flow_buffer()
static const int my_inport
std::string packet_flow_name() const
virtual void set_output(int this_outport, int dst_inport, event_handler *output)
The main interface for something that can respond to an event (sst_message).
A basic container for time (subject to future transplant).
packet_flow_finite_buffer()
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
virtual ~packet_flow_network_buffer()
packet_flow_eject_buffer()
event_loc_id event_location() const
std::vector< int > credits_
virtual int queue_length() const
virtual int num_initial_credits() const =0
virtual void deadlock_check()
packet_flow_infinite_buffer(const timestamp &send_lat, packet_flow_bandwidth_arbitrator *arb)
virtual void do_handle_payload(packet_flow_payload *pkt)=0
std::set< int > deadlocked_channels_
virtual void handle_credit(packet_flow_credit *msg)=0
packet_flow_injection_buffer()
bool queue_depth_reporting_
packet_flow_network_buffer()
virtual ~packet_flow_finite_buffer()