class Async::IO::Generic

def write(buffer)

def write(buffer)
	# Fast path:
	written = self.syswrite(buffer)
	remaining = buffer.bytesize - written
	
	while remaining > 0
		# Slow path:
		length = self.syswrite(buffer.byteslice(written, remaining))
		
		remaining -= length
		written += length
	end
	
	return written
end