class Tapyrus::Message::FilterLoad

filterload message bitcoin.org/en/developer-reference#filterload

Constants

BLOOM_UPDATE_ALL
BLOOM_UPDATE_NONE
BLOOM_UPDATE_P2PUBKEY_ONLY
COMMAND

Attributes

filter[RW]
flag[RW]

Public Class Methods

new(filter, flag = BLOOM_UPDATE_ALL) click to toggle source
# File lib/tapyrus/message/filter_load.rb, line 15
def initialize(filter, flag = BLOOM_UPDATE_ALL)
  @filter = filter
  @flag = flag
end
parse_from_payload(payload) click to toggle source
# File lib/tapyrus/message/filter_load.rb, line 20
def self.parse_from_payload(payload)
  buf = StringIO.new(payload)
  filter_count = Tapyrus.unpack_var_int_from_io(buf)
  filter = buf.read(filter_count).unpack('C*')
  func_count = buf.read(4).unpack('V').first
  tweak = buf.read(4).unpack('V').first
  flag = buf.read(1).unpack('C').first
  FilterLoad.new(Tapyrus::BloomFilter.new(filter, func_count, tweak), flag)
end

Public Instance Methods

to_payload() click to toggle source
# File lib/tapyrus/message/filter_load.rb, line 30
def to_payload
  Tapyrus.pack_var_int(filter.filter.size) << filter.filter.pack('C*') <<
    [filter.hash_funcs, filter.tweak, flag].pack('VVC')
end