3. I understand I can't call async_write again before the first one has
been completed (since I don't want my 8kb chunks interleaved), so should
I maintain a queue of buffers waiting to go out?
Then in my handle_write method should I check the queue, if at least one
buffer is in the queue then I should start a new async_write?
Well, i don't know how to answer this one, and maybe that's the problem
i'm having right now with my tcp async write code, then i'm so confused
as you.
Actually, after thinking a little i guess it is this: If you call async_write from the same thread, then you should not worry about your chunks getting interleaved. But that's not the case if you call async_write from more that one thread and to prevent that you could use a mutex.
Hope it helps,
Kindly,
--