From: Andreas Hansson Date: Mon, 9 Jul 2012 16:35:42 +0000 (-0400) Subject: Port: Hide the queue implementation in SimpleTimingPort X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=67e257f44210b0f4462df860500d903e3d4551df;p=gem5.git 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. --- 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);