class IO::Stream::Generic

def eof?

@returns [Boolean] If the stream is at file which means there is no more data to be read.

See {readable?} for a non-blocking alternative.
Determins if the stream has consumed all available data. May block if the stream is not readable.
def eof?
	if !@read_buffer.empty?
		return false
	elsif @eof
		return true
	else
		return !self.fill_read_buffer
	end
end