Network.hh (9275:ef43e69c837a) | Network.hh (9302:c2e70a9bc340) |
---|---|
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; --- 30 unchanged lines hidden (view full) --- 39 40#ifndef __MEM_RUBY_NETWORK_NETWORK_HH__ 41#define __MEM_RUBY_NETWORK_NETWORK_HH__ 42 43#include <iostream> 44#include <string> 45#include <vector> 46 | 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; --- 30 unchanged lines hidden (view full) --- 39 40#ifndef __MEM_RUBY_NETWORK_NETWORK_HH__ 41#define __MEM_RUBY_NETWORK_NETWORK_HH__ 42 43#include <iostream> 44#include <string> 45#include <vector> 46 |
47#include "mem/packet.hh" |
|
47#include "mem/protocol/LinkDirection.hh" 48#include "mem/protocol/MessageSizeType.hh" 49#include "mem/ruby/common/TypeDefines.hh" 50#include "params/RubyNetwork.hh" 51#include "sim/sim_object.hh" 52 53class NetDest; 54class MessageBuffer; --- 21 unchanged lines hidden (view full) --- 76 virtual int getNumNodes() {return 1;} 77 78 virtual void makeOutLink(SwitchID src, NodeID dest, BasicLink* link, 79 LinkDirection direction, 80 const NetDest& routing_table_entry, 81 bool isReconfiguration) = 0; 82 virtual void makeInLink(NodeID src, SwitchID dest, BasicLink* link, 83 LinkDirection direction, | 48#include "mem/protocol/LinkDirection.hh" 49#include "mem/protocol/MessageSizeType.hh" 50#include "mem/ruby/common/TypeDefines.hh" 51#include "params/RubyNetwork.hh" 52#include "sim/sim_object.hh" 53 54class NetDest; 55class MessageBuffer; --- 21 unchanged lines hidden (view full) --- 77 virtual int getNumNodes() {return 1;} 78 79 virtual void makeOutLink(SwitchID src, NodeID dest, BasicLink* link, 80 LinkDirection direction, 81 const NetDest& routing_table_entry, 82 bool isReconfiguration) = 0; 83 virtual void makeInLink(NodeID src, SwitchID dest, BasicLink* link, 84 LinkDirection direction, |
84 const NetDest& routing_table_entry, | 85 const NetDest& routing_table_entry, |
85 bool isReconfiguration) = 0; 86 virtual void makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link, 87 LinkDirection direction, 88 const NetDest& routing_table_entry, 89 bool isReconfiguration) = 0; 90 91 virtual void reset() = 0; 92 93 virtual void printStats(std::ostream& out) const = 0; 94 virtual void clearStats() = 0; 95 virtual void print(std::ostream& out) const = 0; 96 | 86 bool isReconfiguration) = 0; 87 virtual void makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link, 88 LinkDirection direction, 89 const NetDest& routing_table_entry, 90 bool isReconfiguration) = 0; 91 92 virtual void reset() = 0; 93 94 virtual void printStats(std::ostream& out) const = 0; 95 virtual void clearStats() = 0; 96 virtual void print(std::ostream& out) const = 0; 97 |
98 /* 99 * Virtual functions for functionally reading and writing packets in 100 * the network. Each network needs to implement these for functional 101 * accesses to work correctly. 102 */ 103 virtual bool functionalRead(Packet *pkt) 104 { fatal("Functional read not implemented.\n"); } 105 virtual uint32_t functionalWrite(Packet *pkt) 106 { fatal("Functional write not implemented.\n"); } 107 |
|
97 protected: 98 // Private copy constructor and assignment operator 99 Network(const Network& obj); 100 Network& operator=(const Network& obj); 101 102 protected: 103 const std::string m_name; 104 int m_nodes; --- 15 unchanged lines hidden --- | 108 protected: 109 // Private copy constructor and assignment operator 110 Network(const Network& obj); 111 Network& operator=(const Network& obj); 112 113 protected: 114 const std::string m_name; 115 int m_nodes; --- 15 unchanged lines hidden --- |