add the ability for the ethernet device to check if the link is busy
authorAli Saidi <saidi@eecs.umich.edu>
Mon, 30 Apr 2007 17:09:13 +0000 (13:09 -0400)
committerAli Saidi <saidi@eecs.umich.edu>
Mon, 30 Apr 2007 17:09:13 +0000 (13:09 -0400)
--HG--
extra : convert_revision : 0dc0c4c4546869261f4508ad22a6a85aecf3c334

src/dev/etherint.hh
src/dev/etherlink.hh

index dfc224ecc55c8f1a79f41c888a2627156c8749cb..430f45d66387c305adf2ff3aae9e04459bd9e26e 100644 (file)
@@ -63,6 +63,9 @@ class EtherInt : public SimObject
     bool sendPacket(EthPacketPtr packet)
     { return peer ? peer->recvPacket(packet) : true; }
     virtual bool recvPacket(EthPacketPtr packet) = 0;
+
+    bool askBusy() {return peer->isBusy(); }
+    virtual bool isBusy() { return false; }
 };
 
 #endif // __DEV_ETHERINT_HH__
index bb28548106d9da30bc49ffbfb1c49081bc55c7a6..a16d6d799aed91b3120644bf6937d35944b2fa23 100644 (file)
@@ -114,6 +114,7 @@ class EtherLink : public SimObject
         Interface(const std::string &name, Link *txlink, Link *rxlink);
         bool recvPacket(EthPacketPtr packet) { return txlink->transmit(packet); }
         void sendDone() { peer->sendDone(); }
+        bool isBusy() { return txlink->busy(); }
     };
 
     Link *link[2];