channel-non-blocking