summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-06-13 14:36:53 +0000
committerAlan Conway <aconway@apache.org>2008-06-13 14:36:53 +0000
commit34cdb55ef0a755be5f0bbd965418b11e08e86031 (patch)
treee8af5a5ceb849bcd4d6e169be3bcbbd110ab38bf
parente35c33a25e8e8c5bc0cb9f564deaa91030889f39 (diff)
downloadqpid-python-34cdb55ef0a755be5f0bbd965418b11e08e86031.tar.gz
Revert SessionState changes in r667503.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@667554 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--cpp/src/qpid/SessionState.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/cpp/src/qpid/SessionState.cpp b/cpp/src/qpid/SessionState.cpp
index 0ec9acbc4d..9ef2f5f8fb 100644
--- a/cpp/src/qpid/SessionState.cpp
+++ b/cpp/src/qpid/SessionState.cpp
@@ -99,8 +99,6 @@ SequenceSet SessionState::senderGetIncomplete() const { return sender.incomplet
SessionPoint SessionState::senderGetReplayPoint() const { return sender.replayPoint; }
SessionState::ReplayRange SessionState::senderExpected(const SessionPoint& expect) {
- if (timeout == 0)
- return SessionState::ReplayRange();
if (expect < sender.replayPoint || sender.sendPoint < expect)
throw InvalidArgumentException(QPID_MSG(getId() << ": expected command-point out of range."));
QPID_LOG(debug, getId() << ": sender expected point moved to " << expect);
@@ -116,24 +114,22 @@ void SessionState::senderRecord(const AMQFrame& f) {
if (isControl(f)) return; // Ignore control frames.
QPID_LOG_IF(debug, f.getMethod(), getId() << ": sent cmd " << sender.sendPoint.command << ": " << *f.getMethod());
stateful = true;
- if (timeout) {
- sender.replayList.push_back(f);
- sender.replaySize += f.size();
- sender.unflushedSize += f.size();
- if (config.replayHardLimit && config.replayHardLimit < sender.replaySize)
- throw ResourceLimitExceededException("Replay buffer exceeeded hard limit");
- }
+ if (timeout) sender.replayList.push_back(f);
+ sender.unflushedSize += f.size();
sender.bytesSinceKnownCompleted += f.size();
+ sender.replaySize += f.size();
sender.incomplete += sender.sendPoint.command;
sender.sendPoint.advance(f);
+ if (config.replayHardLimit && config.replayHardLimit < sender.replaySize)
+ throw ResourceLimitExceededException("Replay buffer exceeeded hard limit");
}
bool SessionState::senderNeedFlush() const {
- return timeout != 0 && config.replayFlushLimit && sender.unflushedSize >= config.replayFlushLimit;
+ return config.replayFlushLimit && sender.unflushedSize >= config.replayFlushLimit;
}
void SessionState::senderRecordFlush() {
- if (timeout == 0) return;
+ assert(sender.flushPoint <= sender.sendPoint);
sender.flushPoint = sender.sendPoint;
sender.unflushedSize = 0;
}
@@ -147,7 +143,6 @@ void SessionState::senderRecordKnownCompleted() {
}
void SessionState::senderConfirmed(const SessionPoint& confirmed) {
- if (timeout == 0) return;
if (confirmed > sender.sendPoint)
throw InvalidArgumentException(QPID_MSG(getId() << "Confirmed commands not yet sent."));
QPID_LOG(debug, getId() << ": sender confirmed point moved to " << confirmed);
@@ -163,6 +158,7 @@ void SessionState::senderConfirmed(const SessionPoint& confirmed) {
if (sender.replayPoint > sender.flushPoint)
sender.flushPoint = sender.replayPoint;
sender.replayList.erase(sender.replayList.begin(), i);
+ assert(sender.replayPoint.offset == 0);
}
void SessionState::senderCompleted(const SequenceSet& commands) {