Class: DEVp2p::Packet

Inherits:
Object
  • Object
show all
Defined in:
lib/devp2p/packet.rb

Overview

Packets are emitted and received by subprotocols.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(protocol_id, cmd_id, payload, prioritize = false) ⇒ Packet

Returns a new instance of Packet.



12
13
14
15
16
17
# File 'lib/devp2p/packet.rb', line 12

def initialize(protocol_id, cmd_id, payload, prioritize=false)
  @protocol_id = protocol_id
  @cmd_id = cmd_id
  @payload = payload
  @prioritize = prioritize
end

Instance Attribute Details

#cmd_idObject

Returns the value of attribute cmd_id.



10
11
12
# File 'lib/devp2p/packet.rb', line 10

def cmd_id
  @cmd_id
end

#payloadObject

Returns the value of attribute payload.



10
11
12
# File 'lib/devp2p/packet.rb', line 10

def payload
  @payload
end

#prioritizeObject

Returns the value of attribute prioritize.



10
11
12
# File 'lib/devp2p/packet.rb', line 10

def prioritize
  @prioritize
end

#protocol_idObject

Returns the value of attribute protocol_id.



10
11
12
# File 'lib/devp2p/packet.rb', line 10

def protocol_id
  @protocol_id
end

#total_payload_sizeObject

Returns the value of attribute total_payload_size.



10
11
12
# File 'lib/devp2p/packet.rb', line 10

def total_payload_size
  @total_payload_size
end

Instance Method Details

#==(other) ⇒ Object



23
24
25
26
27
# File 'lib/devp2p/packet.rb', line 23

def ==(other)
  protocol_id == other.protocol_id &&
    cmd_id == other.cmd_id &&
    payload == other.payload
end

#sizeObject Also known as: length



29
30
31
# File 'lib/devp2p/packet.rb', line 29

def size
  payload.size
end

#to_sObject



19
20
21
# File 'lib/devp2p/packet.rb', line 19

def to_s
  "Packet(protocol_id=#{protocol_id} cmd_id=#{cmd_id} payload_size=#{payload.size} prioritize=#{prioritize})"
end