do not create a wrapper for socket channel, friendly to GC