Class: QuartzTorrent::ExtendedHandshake
- Inherits:
-
Extended
- Object
- PeerWireMessage
- Extended
- QuartzTorrent::ExtendedHandshake
- Defined in:
- lib/quartz_torrent/peermsg.rb
Overview
An Extended Handshake message. Used to negotiate supported extensions.
Constant Summary
Constants inherited from PeerWireMessage
PeerWireMessage::MessageBitfield, PeerWireMessage::MessageCancel, PeerWireMessage::MessageChoke, PeerWireMessage::MessageExtended, PeerWireMessage::MessageHave, PeerWireMessage::MessageInterested, PeerWireMessage::MessageKeepAlive, PeerWireMessage::MessagePiece, PeerWireMessage::MessageRequest, PeerWireMessage::MessageUnchoke, PeerWireMessage::MessageUninterested
Instance Attribute Summary collapse
-
#dict ⇒ Object
Returns the value of attribute dict.
Attributes inherited from Extended
Attributes inherited from PeerWireMessage
Instance Method Summary collapse
-
#initialize ⇒ ExtendedHandshake
constructor
A new instance of ExtendedHandshake.
- #serializeTo(io) ⇒ Object
- #unserialize(payload) ⇒ Object
Methods inherited from Extended
Methods inherited from PeerWireMessage
#length, #payloadLength, #to_s
Constructor Details
#initialize ⇒ ExtendedHandshake
Returns a new instance of ExtendedHandshake.
374 375 376 377 378 |
# File 'lib/quartz_torrent/peermsg.rb', line 374 def initialize super() @dict = {} @extendedMessageId = 0 end |
Instance Attribute Details
#dict ⇒ Object
Returns the value of attribute dict.
380 381 382 |
# File 'lib/quartz_torrent/peermsg.rb', line 380 def dict @dict end |
Instance Method Details
#serializeTo(io) ⇒ Object
394 395 396 397 |
# File 'lib/quartz_torrent/peermsg.rb', line 394 def serializeTo(io) super(io) io.write dict.bencode end |
#unserialize(payload) ⇒ Object
382 383 384 385 386 387 388 389 390 391 392 |
# File 'lib/quartz_torrent/peermsg.rb', line 382 def unserialize(payload) super(payload) payload = payload[1,payload.length] begin @dict = payload.bdecode rescue e = RuntimeError.new("Error bdecoding payload '#{payload}' (payload length = #{payload.length})") e.set_backtrace($!.backtrace) raise e end end |