lib/zold/node/spread_entrance.rb
def push(id, body)
      mods = @entrance.push(id, body)
      return mods if @remotes.all.empty?
      mods.each do |m|
        next if @seen.include?(m)
        @mutex.synchronize { @seen << m }
        @modified.push(m)
        @log.debug("Spread-push scheduled for #{m}, queue size is #{@modified.size}")
      end
      mods
    end
def push(id, body)
      mods = @entrance.push(id, body)
      return mods if @remotes.all.empty?
      mods.each do |m|
        next if @seen.include?(m)
        @mutex.synchronize { @seen << m }
        @modified.push(m)
        @log.debug("Spread-push scheduled for #{m}, queue size is #{@modified.size}")
      end
      mods
    end
def push ( id , body ) mods = @entrance . push ( id , body ) return mods if @remotes . all . empty? mods . each do | m | next if @seen . include? ( m ) @mutex . synchronize { @seen << m } @modified . push ( m ) @log . debug ( "Spread-push scheduled for #{m}, queue size is #{@modified.size}" ) end mods end
This method is thread-safe
This method is thread - safe