52BinaryISocket::BinaryISocket():
64BinaryISocket::BinaryISocket(Socket* socket):
72Socket* BinaryISocket::socket()
const
83void BinaryISocket::setSocket(Socket* socket)
86 setstate(std::ios_base::goodbit);
93size_t BinaryISocket::doRead(
void* oBegin,
size_t iNumberOfBytes)
101 setstate(std::ios_base::failbit);
104 char* begin =
static_cast<char*
>(oBegin);
105 int numberOfBytes =
static_cast<int>(iNumberOfBytes);
106 LASS_ASSERT(numberOfBytes >= 0 &&
static_cast<size_t>(numberOfBytes) == iNumberOfBytes);
107 size_t bytesRead = 0;
108 while (numberOfBytes > 0)
112 const int read = socket_->receive(begin, numberOfBytes);
115 setstate(std::ios_base::eofbit);
118 LASS_ASSERT(read >= 0 && read <= numberOfBytes);
120 bytesRead +=
static_cast<size_t>(read);
121 numberOfBytes -= read;
123 catch (
const util::Exception&)
125 setstate(std::ios_base::badbit);
134BinaryISocket::pos_type BinaryISocket::doTellg()
const
136 LASS_THROW(
"no position in network streams!");
142void BinaryISocket::doSeekg(pos_type)
144 LASS_THROW(
"no seeking in network streams!");
149void BinaryISocket::doSeekg(off_type, std::ios_base::seekdir)
151 LASS_THROW(
"no seeking in network streams!");
base class of binary input streams.
streams, binary streams, vrmlstreams, ...
Library for Assembled Shared Sources.