class IcAgent::Candid::Pipe

Public Class Methods

new(buffer = '', length = 0) click to toggle source
# File lib/ic_agent/candid.rb, line 1255
def initialize(buffer = '', length = 0)
  @buffer = buffer
  @view = buffer[0...buffer.size]
end

Public Instance Methods

buffer() click to toggle source
# File lib/ic_agent/candid.rb, line 1260
def buffer
  @view
end
end?() click to toggle source
# File lib/ic_agent/candid.rb, line 1268
def end?
  length == 0
end
length() click to toggle source
# File lib/ic_agent/candid.rb, line 1264
def length
  @view.size
end
read(num) click to toggle source
# File lib/ic_agent/candid.rb, line 1272
def read(num)
  if @view.size < num
    raise ValueError, 'Wrong: out of bound'
  end

  read_num = num * 2
  res = @view[0...read_num]
  @view = @view[read_num...@view.length]
  return res
end
readbyte() click to toggle source
# File lib/ic_agent/candid.rb, line 1283
def readbyte
  res = @view[0, 2]
  @view = @view[2...@view.length]
  return res
end