Class: QuartzTorrent::KeepAlive

Inherits:
PeerWireMessage show all
Defined in:
lib/quartz_torrent/peermsg.rb

Overview

KeepAlive message. Sent periodically to ensure peer is available.

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

Attributes inherited from PeerWireMessage

#messageId

Instance Method Summary collapse

Methods inherited from PeerWireMessage

#payloadLength, #to_s

Constructor Details

#initializeKeepAlive

Returns a new instance of KeepAlive.



126
127
128
# File 'lib/quartz_torrent/peermsg.rb', line 126

def initialize
  super(MessageKeepAlive)
end

Instance Method Details

#lengthObject



130
131
132
# File 'lib/quartz_torrent/peermsg.rb', line 130

def length
  4
end

#serializeTo(io) ⇒ Object



134
135
136
137
# File 'lib/quartz_torrent/peermsg.rb', line 134

def serializeTo(io)
  # A KeepAlive is just a 4byte length set to 0.
  io.write [0].pack("N")
end

#unserialize(payload) ⇒ Object



139
140
# File 'lib/quartz_torrent/peermsg.rb', line 139

def unserialize(payload)
end