|
# File rbot/ircsocket.rb, line 120
def spool
unless @sendq.empty?
now = Time.new
if (now >= (@last_send + @sendfreq))
# reset burst counter after @sendfreq has passed
@burst = 0
debug "in spool, resetting @burst"
elsif (@burst >= @maxburst)
# nope. can't send anything
return
end
@qmutex.synchronize do
debug "(can send #{@maxburst - @burst} lines, there are #{@sendq.length} to send)"
(@maxburst - @burst).times do
break if @sendq.empty?
puts_critical(@sendq.shift)
end
end
end
end
|