Development code for Sockets provider

- This is an incremental devel code for Sockets provider.

This has a race where the write occurs before the item is queued.  A waiting thread can wake-up from the write, find nothing queued, go back to sleep, then the item is queued, but the thread remains sleeping.