class Async::IO::Protocol::Line

def each_line

def each_line
	return to_enum(:each_line) unless block_given?
	
	while line = @stream.read_until(@eol)
		yield line
	end
end

def initialize(stream, eol = $\)

def initialize(stream, eol = $\)
	@stream = stream
	@eol = eol
end

def peek_line

def peek_line
	@stream.peek do |read_buffer|
		if index = read_buffer.index(@eol)
			return read_buffer.slice(0, index)
		end
	end
	
	raise EOFError
end

def read_line

def read_line
	@stream.read_until(@eol) or raise EOFError
end

def read_lines

def read_lines
	@stream.read.split(@eol)
end

def write_lines(*args)

def write_lines(*args)
	if args.empty?
		@stream.write(@eol)
	else
		args.each do |arg|
			@stream.write(arg)
			@stream.write(@eol)
		end
	end
end