Module: Tapyrus::Message::HeadersParser
- Included in:
- GetBlocks, GetBlocks, GetHeaders, GetHeaders
- Defined in:
- lib/tapyrus/message/headers_parser.rb
Overview
Common message parser which handle multiple block headers as a payload.
Instance Method Summary collapse
Instance Method Details
#parse_from_payload(payload) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/tapyrus/message/headers_parser.rb', line 5 def parse_from_payload(payload) ver, payload = payload.unpack("Va*") size, payload = Tapyrus.unpack_var_int(payload) hashes = [] buf = StringIO.new(payload) size.times { hashes << buf.read(32).bth } new(ver, hashes, buf.read(32).bth) end |
#to_payload ⇒ Object
14 15 16 |
# File 'lib/tapyrus/message/headers_parser.rb', line 14 def to_payload [version].pack("V") << Tapyrus.pack_var_int(hashes.length) << hashes.map { |h| h.htb }.join << stop_hash.htb end |