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::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 --- |