summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2012-07-09 12:35:42 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2012-07-09 12:35:42 -0400
commit67e257f44210b0f4462df860500d903e3d4551df (patch)
tree63beb174106b5372915a6245978dfdc6d70f26be
parentfda338f8d3ba6f6cb271e2c10cb880ff064edb61 (diff)
downloadgem5-67e257f44210b0f4462df860500d903e3d4551df.tar.xz
Port: Hide the queue implementation in SimpleTimingPort
This patch makes the queue implementation in the SimpleTimingPort private to avoid confusion with the protected member queue in the QueuedSlavePort. The SimpleTimingPort provides the queue_impl to the QueuedSlavePort and it can be accessed via the reference in the base class. The use of the member name queue is thus no longer overloaded.
-rw-r--r--src/mem/tport.cc2
-rw-r--r--src/mem/tport.hh13
2 files changed, 11 insertions, 4 deletions
diff --git a/src/mem/tport.cc b/src/mem/tport.cc
index 1ce3b4dc2..b5f775a56 100644
--- a/src/mem/tport.cc
+++ b/src/mem/tport.cc
@@ -46,7 +46,7 @@
SimpleTimingPort::SimpleTimingPort(const std::string& _name,
MemObject* _owner) :
- QueuedSlavePort(_name, _owner, queue), queue(*_owner, *this)
+ QueuedSlavePort(_name, _owner, queueImpl), queueImpl(*_owner, *this)
{
}
diff --git a/src/mem/tport.hh b/src/mem/tport.hh
index 1f08d1a91..5e80f4fab 100644
--- a/src/mem/tport.hh
+++ b/src/mem/tport.hh
@@ -60,10 +60,17 @@
class SimpleTimingPort : public QueuedSlavePort
{
- protected:
+ private:
- /** The packet queue used to store outgoing responses. */
- SlavePacketQueue queue;
+ /**
+ * The packet queue used to store outgoing responses. Note that
+ * the queue is made private and that we avoid overloading the
+ * name used in the QueuedSlavePort. Access is provided through
+ * the queue reference in the base class.
+ */
+ SlavePacketQueue queueImpl;
+
+ protected:
/** Implemented using recvAtomic(). */
void recvFunctional(PacketPtr pkt);