1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 103 unchanged lines hidden (view full) ---

112
113// From a switch to a switch
114void
115SimpleNetwork::makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link,
116 LinkDirection direction,
117 const NetDest& routing_table_entry)
118{
119 // Create a set of new MessageBuffers
120 std::map<int, MessageBuffer*> queues;
120 std::vector<MessageBuffer*> queues(m_virtual_networks);
121
122 for (int i = 0; i < m_virtual_networks; i++) {
123 // allocate a buffer
124 MessageBuffer* buffer_ptr = new MessageBuffer;
125 buffer_ptr->setOrdering(true);
126
127 if (m_buffer_size > 0) {
128 buffer_ptr->resize(m_buffer_size);
129 }

--- 24 unchanged lines hidden (view full) ---

154 m_in_use[network_num] = true;
155}
156
157void
158SimpleNetwork::setToNetQueue(NodeID id, bool ordered, int network_num,
159 std::string vnet_type, MessageBuffer *b)
160{
161 checkNetworkAllocation(id, ordered, network_num);
162 while (m_toNetQueues[id].size() <= network_num) {
163 m_toNetQueues[id].push_back(nullptr);
164 }
165 m_toNetQueues[id][network_num] = b;
166}
167
168void
169SimpleNetwork::setFromNetQueue(NodeID id, bool ordered, int network_num,
170 std::string vnet_type, MessageBuffer *b)
171{
172 checkNetworkAllocation(id, ordered, network_num);
173 while (m_fromNetQueues[id].size() <= network_num) {
174 m_fromNetQueues[id].push_back(nullptr);
175 }
176 m_fromNetQueues[id][network_num] = b;
177}
178
179void
180SimpleNetwork::regStats()
181{
182 for (MessageSizeType type = MessageSizeType_FIRST;
183 type < MessageSizeType_NUM; ++type) {

--- 78 unchanged lines hidden ---