class QuartzTorrent::Peer
Attributes
amChoked[RW]
amInterested[RW]
bitfield[RW]
downloadRate[RW]
downloadRateDataOnly[RW]
firstEstablishTime[RW]
infoHash[RW]
isUs[RW]
maxRequestedBlocks[RW]
peerChoked[RW]
peerInterested[RW]
peerMsgSerializer[RW]
requestedBlocks[RW]
requestedBlocksSizeLastPass[RW]
state[RW]
trackerPeer[RW]
uploadRate[RW]
uploadRateDataOnly[RW]
Public Class Methods
new(trackerPeer)
click to toggle source
# File lib/quartz_flow/mock_client.rb, line 83 def initialize(trackerPeer) @trackerPeer = trackerPeer @amChoked = true @amInterested = false @peerChoked = true @peerInterested = false @infoHash = nil @state = :disconnected @uploadRate = 0 @downloadRate = 0 @uploadRateDataOnly = 0 @downloadRateDataOnly = 0 @bitfield = nil @firstEstablishTime = nil @isUs = false @requestedBlocks = {} @requestedBlocksSizeLastPass = nil @maxRequestedBlocks = 50 end
Public Instance Methods
to_h()
click to toggle source
# File lib/quartz_flow/wrappers.rb, line 30 def to_h result = {} result[:trackerPeer] = @trackerPeer.to_h result[:amChoked] = @amChoked result[:amInterested] = @amInterested result[:peerChoked] = @peerChoked result[:peerInterested] = @peerInterested result[:firstEstablishTime] = @firstEstablishTime result[:maxRequestedBlocks] = @maxRequestedBlocks result[:state] = @state result[:isUs] = @isUs result[:uploadRate] = @uploadRate result[:downloadRate] = @downloadRate if @bitfield result[:pctComplete] = "%.2f" % (100.0 * @bitfield.countSet / @bitfield.length) else result[:pctComplete] = 0 end result end