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; --- 35 unchanged lines hidden (view full) --- 44 45#include "mem/ruby/common/Global.hh" 46 47class MessageBuffer; 48class PerfectSwitch; 49class NetDest; 50class SimpleNetwork; 51class Throttle; |
52 53class Switch 54{ 55 public: 56 Switch(SwitchID sid, SimpleNetwork* network_ptr); 57 ~Switch(); 58 59 void addInPort(const std::vector<MessageBuffer*>& in); --- 13 unchanged lines hidden (view full) --- 73 void print(std::ostream& out) const; 74 75 private: 76 // Private copy constructor and assignment operator 77 Switch(const Switch& obj); 78 Switch& operator=(const Switch& obj); 79 80 PerfectSwitch* m_perfect_switch_ptr; |
81 SimpleNetwork* m_network_ptr; |
82 std::vector<Throttle*> m_throttles; 83 std::vector<MessageBuffer*> m_buffers_to_free; 84 SwitchID m_switch_id; 85}; 86 87inline std::ostream& 88operator<<(std::ostream& out, const Switch& obj) 89{ 90 obj.print(out); 91 out << std::flush; 92 return out; 93} 94 95#endif // __MEM_RUBY_NETWORK_SIMPLE_SWITCH_HH__ |