class QuartzTorrent::UdpTrackerConnectResponse
Public Class Methods
new()
click to toggle source
Calls superclass method
QuartzTorrent::UdpTrackerResponse::new
# File lib/quartz_torrent/udptrackermsg.rb, line 112 def initialize super end
tohex(str)
click to toggle source
# File lib/quartz_torrent/udptrackermsg.rb, line 126 def self.tohex(str) result = "" str.each_byte do |b| result << b.to_s(16) end result end
unserialize(msg)
click to toggle source
# File lib/quartz_torrent/udptrackermsg.rb, line 116 def self.unserialize(msg) raise "Invalid connect response: it is #{msg.length} when it must be at least 16" if msg.length < 16 result = UdpTrackerConnectResponse.new result.action = UdpTrackerMessage::unpackNetworkOrder(msg,4) result.transactionId = UdpTrackerMessage::unpackNetworkOrder(msg[4,4],4) result.connectionId = UdpTrackerMessage::unpackNetworkOrder(msg[8,8],8) raise "Invalid connect response: action is not connect" if result.action != UdpTrackerMessage::ActionConnect result end