
Hi Giovanni, --- "Giovanni P. Deretta" <gpderetta@gmail.com> wrote: <snip>
A nice solution would be to make socket movable...
Yes, this would be nice, but unfortunately I see problems reconciling this with some other changes arising from the review that I want to make :( Basically, I want the public interface to allow an implementation that stores state directly in the socket object. Some of the advantages of doing this include: - The ability to eliminate per-socket memory allocations. Coupled with the custom handler allocation support, you could write programs with no ongoing memory allocations occurring inside asio. - Improved performance, e.g. by eliminating many of the hash table lookups to find the list of operations associated with a descriptor. Some of this "state" might be that the socket object is part of an intrusive linked list or hash map. This would make implementing movability, at best, difficult and inefficient. Cheers, Chris