class Bitcourier::Protocol::Message::PeerInfo

Constants

ID

Attributes

ip[RW]
last_seen_at[RW]
port[RW]

Public Instance Methods

extract(bytes) click to toggle source
# File lib/bitcourier/protocol/message/peer_info.rb, line 14
def extract bytes
  data = bytes.unpack('CCCCSL')

  self.ip           = data[0..3].join('.')
  self.port         = data[4].to_i
  self.last_seen_at = Time.at(data[5].to_i).utc

  self
end
payload() click to toggle source
# File lib/bitcourier/protocol/message/peer_info.rb, line 10
def payload
  [ip_array, port.to_i, last_seen_at.to_i].flatten.pack('CCCCSL')
end

Private Instance Methods

ip_array() click to toggle source
# File lib/bitcourier/protocol/message/peer_info.rb, line 26
def ip_array
  ip.split('.').map(&:to_i)
end