Centralize all the I/O related options into the I/O subsystem schema. This includes all XNIO Options, and also includes moving all XNIO worker configuration into the I/O subsystem to be referenced.
The I/O subsystem should define types for each I/O option including (but not limited to):
- send and receive buffer sizes
- TCP nodelay setting
- TCP keepalive
- IP TOS
- Server socket backlog
- Server connection limit low/high water mark
Also there should be types defined for:
- XNIO worker thread count
- XNIO worker thread stack size
- XNIO worker thread priority
Systems which define I/O entities will reference these types by including the allowed/relevant option types into their schema like the threads subsystem does for thread pool types.
Systems presently defining workers should instead reference a worker defined in the I/O subsystem.