#include <senf/Utils/Buffer.hh>
#define prefix_
-///////////////////////////////ct.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::detail::ReadRange<Handle,ForwardWritableRange,IsContiguous>
template <class Handle, class ForwardWritableRange, bool IsContiguous>
return std::copy(buffer, handle.readfrom(buffer,buffer+nread,addr), boost::begin(range));
}
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::detail::WriteRange<Handle,ForwardReadableRange,IsContiguous>
template <class Handle, class ForwardReadableRange, bool IsContiguous>
return i;
}
-///////////////////////////////////////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// senf::ClientSocketHandle<Policy>
-////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// reading and writing
// senf::ClientSocketHandle<Policy>::read
prefix_ void senf::ClientSocketHandle<SPolicy>::readfrom(Sequence & container, Address & from,
unsigned limit)
{
- unsigned nread (available());
- if (limit>0 && nread>limit)
- nread = limit;
- container.resize(nread);
+ if (limit == 0)
+ limit = available();
+ container.resize(limit);
container.erase(readfrom( std::make_pair(container.begin(), container.end()), from ),
container.end());
}
-////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
// private members
// senf::ClientSocketHandle<SPolicy>::available
return nread;
}
-///////////////////////////////ct.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
#undef prefix_
\f