class BitcoinNode::P2p::Client::CommandHandler
Public Class Methods
new(client, buffer, probe)
click to toggle source
# File lib/bitcoin_node/p2p/client.rb, line 46 def initialize(client, buffer, probe) @client, @buffer, @probe = client, buffer, probe end
Public Instance Methods
parse()
click to toggle source
# File lib/bitcoin_node/p2p/client.rb, line 50 def parse @probe << { receiving: @command } callback = Parser.new(@command, @payload).parse @buffer.clear callback.call(@client) end
valid_message?()
click to toggle source
# File lib/bitcoin_node/p2p/client.rb, line 59 def valid_message? @payload, @command = BN::Protocol::Message.validate(@buffer) rescue BN::P::IncompleteMessageError false rescue BN::P::InvalidChecksumError => e BN::Logger.info(e.message) false end