Bridge: Use EventWrapper instead of Event subclass for sendEvent
authorAndreas Hansson <andreas.hansson@arm.com>
Mon, 23 Jul 2012 13:32:19 +0000 (09:32 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Mon, 23 Jul 2012 13:32:19 +0000 (09:32 -0400)
This class simply cleans up the code by making use of the EventWrapper
convenience class to schedule the sendEvent in the bridge ports.

src/mem/bridge.hh

index eefb4d121247d025eb28477ad68445072102e39c..cc428e44de60401f634bda18fad56ea52ff8d1eb 100644 (file)
@@ -213,22 +213,8 @@ class Bridge : public MemObject
          */
         void trySend();
 
-        /**
-         * Private class for scheduling sending of responses from the
-         * response queue.
-         */
-        class SendEvent : public Event
-        {
-            BridgeSlavePort& port;
-
-          public:
-            SendEvent(BridgeSlavePort& p) : port(p) {}
-            virtual void process() { port.trySend(); }
-            virtual const char *description() const { return "bridge send"; }
-        };
-
         /** Send event for the response queue. */
-        SendEvent sendEvent;
+        EventWrapper<BridgeSlavePort, &BridgeSlavePort::trySend> sendEvent;
 
       public:
 
@@ -322,22 +308,8 @@ class Bridge : public MemObject
          */
         void trySend();
 
-        /**
-         * Private class for scheduling sending of requests from the
-         * request queue.
-         */
-        class SendEvent : public Event
-        {
-            BridgeMasterPort& port;
-
-          public:
-            SendEvent(BridgeMasterPort& p) : port(p) {}
-            virtual void process() { port.trySend(); }
-            virtual const char *description() const { return "bridge send"; }
-        };
-
         /** Send event for the request queue. */
-        SendEvent sendEvent;
+        EventWrapper<BridgeMasterPort, &BridgeMasterPort::trySend> sendEvent;
 
       public: