
Hi, I modified a little the echo server example and to build up a simple tcp server; basically what I do is: - Start the server in a thread - When a session is created I start async read - If my session receive a signal I write a data with async write function - Handle data written then start again async read ( otherwise the connection should be closed ) I have some specific functions which prepare packets and then invoke the write method I would like to avoid static allocation of my buffer instead of dynamic one; for doing that I supposed to use shared_array<T> I can't do that because the boost::asio::buffer, required by the write method, doesn't seem to accept smart pointer. So my questions are: - Is there a common pattern to follow for preparing data and delete them after the delivery ? - Is it possible to use smart pointers with async_write ? - Is the async_write executed in another thread ? should I have concurrency problems if I would use an unique output buffer and clear it on the handle_write callback ? Thanks Matteo