Attached to this e-mail is a zip file containing my code so far.
It's a modification of the sample code normally found at boost/libs/asio/example/cpp03/allocation/server.cpp .
To use the enclosed Visual Studio solution, you'll need to set two environment variables.
BOOST_HOME needs to be set to your Boost directory.
BOOST_LIB needs to be set to where you've built the Boost DLLs.
This project was built/run against Boost 1.64.
Hopefully I didn't screw anything up while "depersonalizing" it.
fixed_pool_allocators.h contains the code I found necessary to allocate async-read/write handlers from memory-pools.
The idea is to create fixed-size pools with items that are the exact size needed by their clients.
I think that's a perfectly normal thing to want when trying to avoid dynamic memory allocation in an embedded programming environment.
But as you can see, Boost doesn't exactly make it easy to find the typedefs that the pools need to determine the required amounts of space.
I'm hoping someone can tell me that I should be using some simpler typedefs, provided by somewhere in Boost that I haven't found yet.
Barring that, maybe someone can tell me that what I want to do with memory-pools here is too unconventional to expect Boost to support it easily.
Or maybe someone will tell me that this isn't the right place to ask questions like these, and point me to somewhere more appropriate.
I expected the boost-users mailing list to be the ideal place to ask such questions.
-Steven