diff options
Diffstat (limited to 'cppe/src/IceE/BasicStream.cpp')
-rw-r--r-- | cppe/src/IceE/BasicStream.cpp | 135 |
1 files changed, 8 insertions, 127 deletions
diff --git a/cppe/src/IceE/BasicStream.cpp b/cppe/src/IceE/BasicStream.cpp index bd7dd86c998..683499f9601 100644 --- a/cppe/src/IceE/BasicStream.cpp +++ b/cppe/src/IceE/BasicStream.cpp @@ -21,16 +21,8 @@ using namespace std; using namespace Ice; using namespace IceInternal; -IceInternal::BasicStream::BasicStream(Instance* instance) : - _instance(instance), - _currentReadEncaps(0), - _currentWriteEncaps(0), - _messageSizeMax(_instance->messageSizeMax()), // Cached for efficiency. - _seqDataStack(0) -{ -} - -IceInternal::BasicStream::~BasicStream() +void +IceInternal::BasicStream::clear() { while(_currentReadEncaps && _currentReadEncaps != &_preAllocatedReadEncaps) { @@ -54,12 +46,6 @@ IceInternal::BasicStream::~BasicStream() } } -Instance* -IceInternal::BasicStream::instance() const -{ - return _instance; -} - void IceInternal::BasicStream::swap(BasicStream& other) { @@ -258,22 +244,6 @@ IceInternal::BasicStream::endSeq(int sz) delete oldSeqData; } -IceInternal::BasicStream::WriteEncaps::WriteEncaps() - : writeIndex(0), previous(0) -{ -} - -IceInternal::BasicStream::WriteEncaps::~WriteEncaps() -{ -} - -void -IceInternal::BasicStream::WriteEncaps::reset() -{ - writeIndex = 0; - previous = 0; -} - void IceInternal::BasicStream::WriteEncaps::swap(WriteEncaps& other) { @@ -337,21 +307,6 @@ IceInternal::BasicStream::endWriteEncaps() } } -IceInternal::BasicStream::ReadEncaps::ReadEncaps() - : previous(0) -{ -} - -IceInternal::BasicStream::ReadEncaps::~ReadEncaps() -{ -} - -void -IceInternal::BasicStream::ReadEncaps::reset() -{ - previous = 0; -} - void IceInternal::BasicStream::ReadEncaps::swap(ReadEncaps& other) { @@ -532,41 +487,6 @@ IceInternal::BasicStream::skipSlice() } void -IceInternal::BasicStream::writeSize(Int v) -{ - assert(v >= 0); - if(v > 254) - { - write(Byte(255)); - write(v); - } - else - { - write(static_cast<Byte>(v)); - } -} - -void -IceInternal::BasicStream::readSize(Ice::Int& v) -{ - Byte byte; - read(byte); - unsigned val = static_cast<unsigned char>(byte); - if(val == 255) - { - read(v); - if(v < 0) - { - throw NegativeSizeException(__FILE__, __LINE__); - } - } - else - { - v = static_cast<Int>(static_cast<unsigned char>(byte)); - } -} - -void IceInternal::BasicStream::writeBlob(const vector<Byte>& v) { if(!v.empty()) @@ -865,51 +785,6 @@ IceInternal::BasicStream::read(pair<const Short*, const Short*>& v, IceUtil::aut } void -IceInternal::BasicStream::write(Int v) -{ - Container::size_type pos = b.size(); - resize(pos + sizeof(Int)); - Byte* dest = &b[pos]; -#ifdef ICE_BIG_ENDIAN - const Byte* src = reinterpret_cast<const Byte*>(&v) + sizeof(Int) - 1; - *dest++ = *src--; - *dest++ = *src--; - *dest++ = *src--; - *dest = *src; -#else - const Byte* src = reinterpret_cast<const Byte*>(&v); - *dest++ = *src++; - *dest++ = *src++; - *dest++ = *src++; - *dest = *src; -#endif -} - -void -IceInternal::BasicStream::read(Int& v) -{ - if(b.end() - i < static_cast<int>(sizeof(Int))) - { - throw UnmarshalOutOfBoundsException(__FILE__, __LINE__); - } - const Byte* src = &(*i); - i += sizeof(Int); -#ifdef ICE_BIG_ENDIAN - Byte* dest = reinterpret_cast<Byte*>(&v) + sizeof(Int) - 1; - *dest-- = *src++; - *dest-- = *src++; - *dest-- = *src++; - *dest = *src; -#else - Byte* dest = reinterpret_cast<Byte*>(&v); - *dest++ = *src++; - *dest++ = *src++; - *dest++ = *src++; - *dest = *src; -#endif -} - -void IceInternal::BasicStream::write(const Int* begin, const Int* end) { Int sz = static_cast<Int>(end - begin); @@ -1718,6 +1593,12 @@ IceInternal::BasicStream::throwMemoryLimitException(const char* file, int line) throw MemoryLimitException(file, line); } +void +IceInternal::BasicStream::throwNegativeSizeException(const char* file, int line) +{ + throw NegativeSizeException(file, line); +} + IceInternal::BasicStream::SeqData::SeqData(int num, int sz) : numElements(num), minSize(sz) { } |