ByteBuffer buf=bufs.next();
if(outputThrottle != null)
{
final long maxToWrite=outputThrottle.request(buf.remaining());
if(maxToWrite < buf.remaining())
buf = bufs.splitTopBuffer((int)maxToWrite);
}
final int written = chan.write(buf);
if(outputThrottle != null)
{
outputThrottle.registerWritten(written);