Async Channel Request
abstract class AsyncChannelRequest<T, I>(val channel: ReceiveChannel<I>? = null, val target: Target = NonSpecifiedTarget, val socketIdleTimeout: Long? = null) : Request
Read and write are called in sequence, hence you have to give the control flow back if you want cooperative multitasking to happen