Class: DatawireQuarkCore::Sources

Inherits:
Object
  • Object
show all
Defined in:
lib/datawire-quark-core.rb

Instance Method Summary collapse

Constructor Details

#initializeSources

Returns a new instance of Sources.



410
411
412
413
414
# File 'lib/datawire-quark-core.rb', line 410

def initialize()
  @sources = Concurrent::Map.new
  @seq = Concurrent::AtomicFixnum.new
  @log = Logger.new "quark.runtime.sources"
end

Instance Method Details

#add(topic) ⇒ Object



416
417
418
419
420
# File 'lib/datawire-quark-core.rb', line 416

def add (topic)
  key = "%s-%s" % [ @seq.increment, topic ]
  @sources.put_if_absent(key, Time.new)
  key
end

#empty?Boolean

Returns:

  • (Boolean)


426
427
428
# File 'lib/datawire-quark-core.rb', line 426

def empty?
  @sources.empty?
end

#explainObject



430
431
432
433
434
# File 'lib/datawire-quark-core.rb', line 430

def explain
  @sources.each_key { |k|
    @log.trace "Waiting for %s from %s" % [k, @sources[k]]
  }
end

#remove(key) ⇒ Object



422
423
424
# File 'lib/datawire-quark-core.rb', line 422

def remove (key)
  @sources.delete(key)
end