Class: QuartzTorrent::Extended
- Inherits:
-
PeerWireMessage
- Object
- PeerWireMessage
- QuartzTorrent::Extended
- Defined in:
- lib/quartz_torrent/peermsg.rb
Overview
Extended message. These are extra messages not defined in the base protocol.
Direct Known Subclasses
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
-
#extendedMessageId ⇒ Object
Returns the value of attribute extendedMessageId.
Attributes inherited from PeerWireMessage
Instance Method Summary collapse
-
#initialize ⇒ Extended
constructor
A new instance of Extended.
- #payloadLength ⇒ Object
- #serializeTo(io) ⇒ Object
- #to_s ⇒ Object
- #unserialize(payload) ⇒ Object
Methods inherited from PeerWireMessage
Constructor Details
#initialize ⇒ Extended
Returns a new instance of Extended.
332 333 334 |
# File 'lib/quartz_torrent/peermsg.rb', line 332 def initialize super(MessageExtended) end |
Instance Attribute Details
#extendedMessageId ⇒ Object
Returns the value of attribute extendedMessageId.
336 337 338 |
# File 'lib/quartz_torrent/peermsg.rb', line 336 def extendedMessageId @extendedMessageId end |
Instance Method Details
#payloadLength ⇒ Object
338 339 340 |
# File 'lib/quartz_torrent/peermsg.rb', line 338 def payloadLength 1 + extendedMsgPayloadLength end |
#serializeTo(io) ⇒ Object
346 347 348 349 |
# File 'lib/quartz_torrent/peermsg.rb', line 346 def serializeTo(io) super(io) io.write [@extendedMessageId].pack("C") end |
#to_s ⇒ Object
351 352 353 354 |
# File 'lib/quartz_torrent/peermsg.rb', line 351 def to_s s = super s + ": extendedMessageId=#{@extendedMessageId}" end |
#unserialize(payload) ⇒ Object
342 343 344 |
# File 'lib/quartz_torrent/peermsg.rb', line 342 def unserialize(payload) @extendedMessageId = payload.unpack("C") end |