Lars Viklund wrote
On Fri, Aug 30, 2013 at 11:25:39PM +0200, Jens Weller wrote:
Gesendet: Freitag, 30. August 2013 um 23:09 Uhr Von: ustulation <
ustulation@
>
An:
boost-users@.boost
Betreff: [Boost-users] Too many EOF's using boost::asio
//m_writeBuffer is boost::asio::streambuf..m_writeQueue is std::deque std::string m_writeBuffer.sputn(&m_writeQueue.at(0)[0], m_writeQueue.at(0).size());
Hm. How big is your data? deque is not like vector giving you an array of elements. std::deque splits internally into differen chunks, maybe your problems come from this. I can't really see that using deque in this way would be safe. If your data is always smaller then the chunksize of deque, things are ok, other wise, well you're surely not getting what you expect.
His code is accessing the underlying storage of a std::string, that happens to be in a deque, which is fine as long as you're not invalidating the elements of the deque. -- Lars Viklund |
zao@.umu
_______________________________________________ Boost-users mailing list
Boost-users@.boost
Yes, the only assumption i make here is that std::string would store data contiguously and as I use c++11 I think this is the case (the speed of sputn and sgetn is too tempting to let go) Lars Viklund wrote
Anyway, this might be a manifestation of the 1.54.0 bug with Boost.ASIO+IOCP having spurious EOFs on Windows: https://svn.boost.org/trac/boost/ticket/8967
-- Lars Viklund
Oh, I see! We had started the project using boost 1.53 and had done testing then. I suspect we had seen no such problems hence was not caught then. On silently upgrading to boost 1.54 the only thing we cared was compilation which was successful at once. The documentations hadn't changed and we didn't care much, but I guess the problem lurked all the time since then. Only now on redoing some alpha test cases we realized. So what would you suggest? And though i didn't mention - you are right, it /is/ on Windows. Do I use the patch in the link you mentioned (because there seems to be some disagreement on its philosophy) or has christopher kohlhoff (I infer he's the asio developer) done something about it? Thanks -- View this message in context: http://boost.2283326.n4.nabble.com/Too-many-EOF-s-using-boost-asio-tp4651173... Sent from the Boost - Users mailing list archive at Nabble.com.