# File lib/rubytorrent/package.rb, line 379 def add_block(b) @valid = nil write = false new_have = @state_m.synchronize { @have.fill AwesomeRange.new(b.begin ... (b.begin + b.length)) } if new_have != @have @have = new_have write = true end write_bytes(b.begin, b.data) if write send_event(:complete) if complete? end