Deleted Added
sdiff udiff text old ( 4432:5e55857abb01 ) new ( 4433:4722c6787f69 )
full compact
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

74 Tick ready;
75 PacketPtr pkt;
76 Packet::SenderState *origSenderState;
77 short origSrc;
78 bool expectResponse;
79
80 bool partialWriteFixed;
81 PacketPtr oldPkt;
82
83 PacketBuffer(PacketPtr _pkt, Tick t)
84 : ready(t), pkt(_pkt),
85 origSenderState(_pkt->senderState), origSrc(_pkt->getSrc()),
86 expectResponse(_pkt->needsResponse()), partialWriteFixed(false)
87 {
88 if (!pkt->isResponse())
89 pkt->senderState = this;
90 }
91
92 void fixResponse(PacketPtr pkt)
93 {
94 assert(pkt->senderState == this);
95 pkt->setDest(origSrc);
96 pkt->senderState = origSenderState;

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

139 /**
140 * Outbound packet queue. Packets are held in this queue for a
141 * specified delay to model the processing delay of the
142 * bridge.
143 */
144 std::list<PacketBuffer*> sendQueue;
145
146 int outstandingResponses;
147
148 /** Max queue size for outbound packets */
149 int queueLimit;
150
151 /**
152 * Is this side blocked from accepting outbound packets?
153 */
154 bool queueFull() { return (sendQueue.size() == queueLimit); }
155
156 bool queueForSendTiming(PacketPtr pkt);
157
158 void finishSend(PacketBuffer *buf);
159
160 /**
161 * Handle send event, scheduled when the packet at the head of
162 * the outbound queue is ready to transmit (for timing
163 * accesses only).
164 */
165 void trySend();
166
167 class SendEvent : public Event

--- 66 unchanged lines hidden ---