etherlink.hh (11263:8dcc6b40f164) | etherlink.hh (12087:0e082672ac6b) |
---|---|
1/* 2 * Copyright (c) 2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 78 unchanged lines hidden (view full) --- 87 EtherDump *const dump; 88 89 protected: 90 /* 91 * Transfer is complete 92 */ 93 EthPacketPtr packet; 94 void txDone(); | 1/* 2 * Copyright (c) 2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 78 unchanged lines hidden (view full) --- 87 EtherDump *const dump; 88 89 protected: 90 /* 91 * Transfer is complete 92 */ 93 EthPacketPtr packet; 94 void txDone(); |
95 typedef EventWrapper<Link, &Link::txDone> DoneEvent; 96 friend void DoneEvent::process(); 97 DoneEvent doneEvent; | 95 EventFunctionWrapper doneEvent; |
98 99 /** 100 * Maintain a queue of in-flight packets. Assume that the 101 * delay is non-zero and constant (i.e., at most one packet 102 * per tick). 103 */ 104 std::deque<std::pair<Tick, EthPacketPtr>> txQueue; 105 106 void processTxQueue(); | 96 97 /** 98 * Maintain a queue of in-flight packets. Assume that the 99 * delay is non-zero and constant (i.e., at most one packet 100 * per tick). 101 */ 102 std::deque<std::pair<Tick, EthPacketPtr>> txQueue; 103 104 void processTxQueue(); |
107 typedef EventWrapper<Link, &Link::processTxQueue> TxQueueEvent; 108 friend void TxQueueEvent::process(); 109 TxQueueEvent txQueueEvent; | 105 EventFunctionWrapper txQueueEvent; |
110 111 void txComplete(EthPacketPtr packet); 112 113 public: 114 Link(const std::string &name, EtherLink *p, int num, 115 double rate, Tick delay, Tick delay_var, EtherDump *dump); 116 ~Link() {} 117 --- 49 unchanged lines hidden --- | 106 107 void txComplete(EthPacketPtr packet); 108 109 public: 110 Link(const std::string &name, EtherLink *p, int num, 111 double rate, Tick delay, Tick delay_var, EtherDump *dump); 112 ~Link() {} 113 --- 49 unchanged lines hidden --- |