From 67e257f44210b0f4462df860500d903e3d4551df Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Mon, 9 Jul 2012 12:35:42 -0400 Subject: [PATCH] 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. --- src/mem/tport.cc | 2 +- src/mem/tport.hh | 13 ++++++++++--- 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); -- 2.30.2