X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.ct;h=0c6b61b86a710820e3410dbca00cb5552ee3a88d;hb=70256cc93f59f5d2c9b3428775a181e5e225bfc5;hp=1e7fa7b93dcca55316ad338d8ccdd846875566fa;hpb=c52cd7d87dbb525c1267aad27391b8b7365dbb57;p=senf.git diff --git a/Socket/ClientSocketHandle.ct b/Socket/ClientSocketHandle.ct index 1e7fa7b..0c6b61b 100644 --- a/Socket/ClientSocketHandle.ct +++ b/Socket/ClientSocketHandle.ct @@ -30,18 +30,20 @@ ///////////////////////////////ct.p//////////////////////////////////////// template -prefix_ std::string satcom::lib::ClientSocketHandle::read() +prefix_ std::string senf::ClientSocketHandle::read(unsigned limit) { std::string rv; - this->read(rv); + this->read(rv,limit); return rv; } template -prefix_ void satcom::lib::ClientSocketHandle::read(std::string & buffer) +prefix_ void senf::ClientSocketHandle::read(std::string & buffer, unsigned limit) { unsigned nread = available(); - // FIXME: This is not necessary correct and more or less a hack ... + if (limit>0 && nread>limit) + nread = limit; + /** \fixme This is not necessary correct and more or less a hack ... */ buffer.assign(nread,0); unsigned rv = this->read(const_cast(buffer.data()),nread); if (rv < nread) @@ -50,7 +52,7 @@ prefix_ void satcom::lib::ClientSocketHandle::read(std::string & buffer) template prefix_ std::pair -satcom::lib::ClientSocketHandle::readfrom() +senf::ClientSocketHandle::readfrom() { std::string rv; typename Policy::AddressingPolicy::Address addr; @@ -59,11 +61,11 @@ satcom::lib::ClientSocketHandle::readfrom() } template -prefix_ void satcom::lib::ClientSocketHandle:: +prefix_ void senf::ClientSocketHandle:: readfrom(std::string & buffer, typename Policy::AddressingPolicy::Address & from) { unsigned nread = available(); - // FIXME: This is not necessary correct and more or less a hack ... + /** \fixme This is not necessary correct and more or less a hack ... */ buffer.assign(nread,0); unsigned rv = this->readfrom(const_cast(buffer.data()), nread, from); if (rv < nread) @@ -71,7 +73,7 @@ readfrom(std::string & buffer, typename Policy::AddressingPolicy::Address & from } template -prefix_ unsigned satcom::lib::ClientSocketHandle::write(std::string const & data) +prefix_ unsigned senf::ClientSocketHandle::write(std::string const & data) { unsigned written = this->write(data.data(),data.size()); if (written == 0) @@ -92,7 +94,7 @@ prefix_ unsigned satcom::lib::ClientSocketHandle::write(std::string cons } template -prefix_ unsigned satcom::lib::ClientSocketHandle::available() +prefix_ unsigned senf::ClientSocketHandle::available() { unsigned nread = this->protocol().available(); if (nread == 0 && this->blocking()) { @@ -108,5 +110,5 @@ prefix_ unsigned satcom::lib::ClientSocketHandle::available() // Local Variables: // mode: c++ -// c-file-style: "satcom" +// c-file-style: "senf" // End: