47 m_nodes = MachineType_base_number(MachineType_NUM);
68 params()->ruby_system->registerNetwork(
this);
72 i != p->ext_links.end(); ++
i) {
81 for (
auto &it : dynamic_cast<Network *>(
this)->
params()->ext_links) {
82 it->params()->ext_node->initNetQueues();
88 for (
int node = 0; node <
m_nodes; node++) {
113 case MessageSizeType_Control:
114 case MessageSizeType_Request_Control:
115 case MessageSizeType_Reissue_Control:
116 case MessageSizeType_Response_Control:
117 case MessageSizeType_Writeback_Control:
118 case MessageSizeType_Broadcast_Control:
119 case MessageSizeType_Multicast_Control:
120 case MessageSizeType_Forwarded_Control:
121 case MessageSizeType_Invalidate_Control:
122 case MessageSizeType_Unblock_Control:
123 case MessageSizeType_Persistent_Control:
124 case MessageSizeType_Completion_Control:
126 case MessageSizeType_Data:
127 case MessageSizeType_Response_Data:
128 case MessageSizeType_ResponseLocal_Data:
129 case MessageSizeType_ResponseL2hit_Data:
130 case MessageSizeType_Writeback_Data:
133 panic(
"Invalid range for type MessageSizeType");
141 std::string vnet_type)
std::vector< std::vector< MessageBuffer * > > m_toNetQueues
void setToNetQueue(NodeID id, bool ordered, int netNumber, std::string vnet_type, MessageBuffer *b)
Callback class used for collating statistics from all the controller of this type.
std::vector< bool > m_ordered
std::vector< std::string > m_vnet_type_names
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
virtual void checkNetworkAllocation(NodeID id, bool ordered, int network_num, std::string vnet_type)
Topology * m_topology_ptr
static uint32_t m_control_msg_size
const Params * params() const
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
const Params * params() const
virtual void setFromNetQueue(NodeID id, bool ordered, int netNumber, std::string vnet_type, MessageBuffer *b)
void registerDumpCallback(Callback *cb)
Register a callback that should be called whenever statistics are about to be dumped.
static uint32_t MessageSizeType_to_int(MessageSizeType size_type)
static uint32_t m_data_msg_size
void initNetworkPtr(Network *net_ptr)
fatal_if(p->js_features.size() > 16,"Too many job slot feature registers specified (%i)\n", p->js_features.size())
static uint32_t m_virtual_networks
std::vector< std::vector< MessageBuffer * > > m_fromNetQueues
static uint32_t getBlockSizeBytes()