packet_queue.hh (11195:6f8b2a005abb) packet_queue.hh (11207:7b7e352f8d7f)
1/*
2 * Copyright (c) 2012,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

--- 75 unchanged lines hidden (view full) ---

84 EventManager& em;
85
86 /** Used to schedule sending of deferred packets. */
87 void processSendEvent();
88
89 /** Event used to call processSendEvent. */
90 EventWrapper<PacketQueue, &PacketQueue::processSendEvent> sendEvent;
91
1/*
2 * Copyright (c) 2012,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

--- 75 unchanged lines hidden (view full) ---

84 EventManager& em;
85
86 /** Used to schedule sending of deferred packets. */
87 void processSendEvent();
88
89 /** Event used to call processSendEvent. */
90 EventWrapper<PacketQueue, &PacketQueue::processSendEvent> sendEvent;
91
92 /*
93 * Optionally disable the sanity check
94 * on the size of the transmitList. The
95 * sanity check will be enabled by default.
96 */
97 bool _disableSanityCheck;
98
92 protected:
93
94 /** Label to use for print request packets label stack. */
95 const std::string label;
96
97 /** Remember whether we're awaiting a retry. */
98 bool waitingOnRetry;
99

--- 18 unchanged lines hidden (view full) ---

118 virtual bool sendTiming(PacketPtr pkt) = 0;
119
120 /**
121 * Create a packet queue, linked to an event manager, and a label
122 * that will be used for functional print request packets.
123 *
124 * @param _em Event manager used for scheduling this queue
125 * @param _label Label to push on the label stack for print request packets
99 protected:
100
101 /** Label to use for print request packets label stack. */
102 const std::string label;
103
104 /** Remember whether we're awaiting a retry. */
105 bool waitingOnRetry;
106

--- 18 unchanged lines hidden (view full) ---

125 virtual bool sendTiming(PacketPtr pkt) = 0;
126
127 /**
128 * Create a packet queue, linked to an event manager, and a label
129 * that will be used for functional print request packets.
130 *
131 * @param _em Event manager used for scheduling this queue
132 * @param _label Label to push on the label stack for print request packets
133 * @param disable_sanity_check Flag used to disable the sanity check
134 * on the size of the transmitList. The check is enabled by default.
126 */
135 */
127 PacketQueue(EventManager& _em, const std::string& _label);
136 PacketQueue(EventManager& _em, const std::string& _label,
137 bool disable_sanity_check = false);
128
129 /**
130 * Virtual desctructor since the class may be used as a base class.
131 */
132 virtual ~PacketQueue();
133
134 public:
135

--- 46 unchanged lines hidden (view full) ---

182
183 /**
184 * Retry sending a packet from the queue. Note that this is not
185 * necessarily the same packet if something has been added with an
186 * earlier time stamp.
187 */
188 void retry();
189
138
139 /**
140 * Virtual desctructor since the class may be used as a base class.
141 */
142 virtual ~PacketQueue();
143
144 public:
145

--- 46 unchanged lines hidden (view full) ---

192
193 /**
194 * Retry sending a packet from the queue. Note that this is not
195 * necessarily the same packet if something has been added with an
196 * earlier time stamp.
197 */
198 void retry();
199
200 /**
201 * This allows a user to explicitly disable the sanity check
202 * on the size of the transmitList, which is enabled by default.
203 * Users must use this function to explicitly disable the sanity
204 * check.
205 */
206 void disableSanityCheck() { _disableSanityCheck = true; }
207
190 DrainState drain() override;
191};
192
193class ReqPacketQueue : public PacketQueue
194{
195
196 protected:
197

--- 86 unchanged lines hidden ---
208 DrainState drain() override;
209};
210
211class ReqPacketQueue : public PacketQueue
212{
213
214 protected:
215

--- 86 unchanged lines hidden ---