class Bunny::Concurrent::SynchronizedSortedSet
A SortedSet variation that synchronizes key mutation operations.
@note This is NOT a complete SortedSet replacement. It only synchronizes operations needed by Bunny
. @api public
Public Class Methods
Source
# File lib/bunny/concurrent/synchronized_sorted_set.rb, line 13 def initialize(enum = nil) @mutex = Mutex.new super end
Calls superclass method
Public Instance Methods
Source
# File lib/bunny/concurrent/synchronized_sorted_set.rb, line 19 def add(o) # avoid using Mutex#synchronize because of a Ruby 1.8.7-specific # bug that prevents super from being called from within a block. MK. @mutex.lock begin super ensure @mutex.unlock end end
Calls superclass method
Source
# File lib/bunny/concurrent/synchronized_sorted_set.rb, line 30 def delete(o) @mutex.lock begin super ensure @mutex.unlock end end
Calls superclass method
Source
# File lib/bunny/concurrent/synchronized_sorted_set.rb, line 39 def delete_if(&block) @mutex.lock begin super ensure @mutex.unlock end end
Calls superclass method
Source
# File lib/bunny/concurrent/synchronized_sorted_set.rb, line 48 def include?(o) @mutex.lock begin super ensure @mutex.unlock end end
Calls superclass method