public AsyncIO(IIoHandler parent, int maxFrameSize, int writeQueueFullLimit,
int writeQueueEmptyLimit, TransportBase transport, bool isInitiator)
: base("async-io", transport.Identifier)
{
Fx.Assert(transport != null, "transport required");
this.ioHandler = parent;
this.transport = transport;
this.writer = this.transport.RequiresCompleteFrames ?
new AsyncFrameWriter(this.transport, writeQueueFullLimit, writeQueueEmptyLimit, parent) :
new AsyncWriter(this.transport, writeQueueFullLimit, writeQueueEmptyLimit, parent);
this.reader = new AsyncReader(this, maxFrameSize, isInitiator);
}