@Override
	public int writeBlockingBytesToChannel(final DataBuffers buffers) throws IOException
	{
		int written=0;
		DataBuffers bufs=null;
		synchronized(writeables)
		{
			writeables.addLast(buffers);
			while(writeables.size()>0)
			{
				bufs=writeables.getFirst();
				while(bufs.hasNext())
				{
					final ByteBuffer buffer=buffers.next();
					while(buffer.remaining()>0)
					{
						final int bytesWritten=chan.write(buffer);
						if(bytesWritten>=0)
						{
							written+=bytesWritten;
						}
						if(buffer.remaining()>0)
						{
							try{Thread.sleep(1);}catch(final Exception e){}
						}
					}
				}
				writeables.removeFirst();
			}
			return written;
		}
	}