rework IO to register polls when adapting file descriptors; update TCP