WireBuffer.hh (10919:80069a602c83) | WireBuffer.hh (11116:d6fb95dbf3e2) |
---|---|
1/* 2 * Copyright (c) 2010 Advanced Micro Devices, Inc. 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; --- 58 unchanged lines hidden (view full) --- 67 void setConsumer(Consumer* consumer_ptr) 68 { 69 m_consumer_ptr = consumer_ptr; 70 } 71 Consumer* getConsumer() { return m_consumer_ptr; }; 72 void setDescription(const std::string& name) { m_description = name; }; 73 std::string getDescription() { return m_description; }; 74 | 1/* 2 * Copyright (c) 2010 Advanced Micro Devices, Inc. 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; --- 58 unchanged lines hidden (view full) --- 67 void setConsumer(Consumer* consumer_ptr) 68 { 69 m_consumer_ptr = consumer_ptr; 70 } 71 Consumer* getConsumer() { return m_consumer_ptr; }; 72 void setDescription(const std::string& name) { m_description = name; }; 73 std::string getDescription() { return m_description; }; 74 |
75 void enqueue(MsgPtr message, Cycles latency); 76 void dequeue(); | 75 void enqueue(MsgPtr message, Tick current_time, Tick delta); 76 void dequeue(Tick current_time); |
77 const Message* peek(); | 77 const Message* peek(); |
78 void recycle(); 79 bool isReady(); 80 bool areNSlotsAvailable(int n) { return true; }; // infinite queue length | 78 void recycle(Tick current_time, Tick recycle_latency); 79 bool isReady(Tick current_time); 80 // infinite queue length 81 bool areNSlotsAvailable(int n, Tick current_time) { return true; }; |
81 82 void print(std::ostream& out) const; 83 uint64_t m_msg_counter; 84 85 private: 86 // Private copy constructor and assignment operator 87 WireBuffer (const WireBuffer& obj); 88 WireBuffer& operator=(const WireBuffer& obj); 89 90 // data members 91 Consumer* m_consumer_ptr; // Consumer to signal a wakeup() 92 std::string m_description; 93 94 // queues where memory requests live 95 std::vector<MsgPtr> m_message_queue; | 82 83 void print(std::ostream& out) const; 84 uint64_t m_msg_counter; 85 86 private: 87 // Private copy constructor and assignment operator 88 WireBuffer (const WireBuffer& obj); 89 WireBuffer& operator=(const WireBuffer& obj); 90 91 // data members 92 Consumer* m_consumer_ptr; // Consumer to signal a wakeup() 93 std::string m_description; 94 95 // queues where memory requests live 96 std::vector<MsgPtr> m_message_queue; |
96 97 RubySystem * m_ruby_system; 98 | |
99}; 100 101std::ostream& operator<<(std::ostream& out, const WireBuffer& obj); 102 103#endif // __MEM_RUBY_STRUCTURES_WireBuffer_HH__ | 97}; 98 99std::ostream& operator<<(std::ostream& out, const WireBuffer& obj); 100 101#endif // __MEM_RUBY_STRUCTURES_WireBuffer_HH__ |