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