Port: Hide the queue implementation in SimpleTimingPort
authorAndreas Hansson <andreas.hansson@arm.com>
Mon, 9 Jul 2012 16:35:42 +0000 (12:35 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Mon, 9 Jul 2012 16:35:42 +0000 (12:35 -0400)
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
src/mem/tport.hh

index 1ce3b4dc2e7b83cc11f2653db1f504ed6a2e0cad..b5f775a5665bae40ce7248f2a6db301821701a27 100644 (file)
@@ -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)
 {
 }
 
index 1f08d1a912a137e37c8ea0d5dc07b5031aacc26b..5e80f4fab081d5dd6ecee7a44f1abb25bf22193e 100644 (file)
 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);