summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/background/Transceiver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/background/Transceiver.cpp')
-rw-r--r--cpp/test/Ice/background/Transceiver.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/cpp/test/Ice/background/Transceiver.cpp b/cpp/test/Ice/background/Transceiver.cpp
index 47b27c843d9..da862c9869b 100644
--- a/cpp/test/Ice/background/Transceiver.cpp
+++ b/cpp/test/Ice/background/Transceiver.cpp
@@ -119,7 +119,7 @@ Transceiver::read(IceInternal::Buffer& buf, bool& moreData)
_readBufferPos += available;
buf.i += available;
}
- moreData = _readBufferPos < _readBuffer.i;
+ moreData |= _readBufferPos < _readBuffer.i;
return IceInternal::SocketOperationNone;
}
else
@@ -147,7 +147,7 @@ void
Transceiver::startRead(IceInternal::Buffer& buf)
{
_configuration->checkReadException();
- if(_buffered)
+ if(_buffered && _initialized)
{
size_t available = _readBuffer.i - _readBufferPos;
if(available > 0)
@@ -182,14 +182,14 @@ Transceiver::startRead(IceInternal::Buffer& buf)
}
void
-Transceiver::finishRead(IceInternal::Buffer& buf)
+Transceiver::finishRead(IceInternal::Buffer& buf, bool& hasMoreData)
{
_configuration->checkReadException();
- if(_buffered)
+ if(_buffered && _initialized)
{
if(buf.i != buf.b.end())
{
- _transceiver->finishRead(_readBuffer);
+ _transceiver->finishRead(_readBuffer, hasMoreData);
size_t requested = buf.b.end() - buf.i;
size_t available = _readBuffer.i - _readBufferPos;
@@ -208,7 +208,7 @@ Transceiver::finishRead(IceInternal::Buffer& buf)
}
else
{
- _transceiver->finishRead(buf);
+ _transceiver->finishRead(buf, hasMoreData);
}
}
#endif