module BinData::IO::Read::UnSeekableStream
def num_bytes_remaining
def num_bytes_remaining raise IOError, "stream is unseekable" end
def offset
Returns the current offset of the io stream. Offset will be rounded
def offset @read_count ||= 0 end
def read_raw(n)
def read_raw(n) @read_count ||= 0 data = @raw_io.read(n) @read_count += data.size if data data end
def seek_raw(n)
def seek_raw(n) raise IOError, "stream is unseekable" if n < 0 # skip over data in 8k blocks while n > 0 bytes_to_read = [n, 8192].min read_raw(bytes_to_read) n -= bytes_to_read end end