BoostSocket/Level1DesignAim to provide a very light weight wrapper to the platform socket API, giving platform independence for higher levels. No attempt at this level to remove proconditions from platform API.
The design works with concepts (more or less) so that we can provide address and protocol indpendence without virtual function overhead.
If runtime polymorphic protocol/address types are required, they can always model the concepts described here, and use this layer as is.