Boost Software License Version 1.0. See LICENSE_BOOST.txt for details. Alternatively, this file may be distributed under the terms of the Tango 3-Clause BSD License (see LICENSE_BSD.txt for details).
Copyright (c) 2009-2016 dunnhumby Germany GmbH. All rights reserved.
Fiber/coroutine based non-blocking output select client base class
Base class for a non-blocking output select client using a fiber/coroutine to suspend operation while waiting for the read event and resume on that event.
The Linux TCP_CORK feature can be used by setting FiberSelectWriter.cork to true. This prevents sending the data passed to send() in partial TCP frames. Note that, if TCP_CORK is enabled, pending data may not be sent immediately. To force sending pending data, call corkFlush().
@see http://linux.die.net/man/7/tcp