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 ---