class Concurrent::Collection::SynchronizedMapBackend

@!visibility private

Public Class Methods

new(*args, &block) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 11
def initialize(*args, &block)
  super

  # WARNING: Mutex is a non-reentrant lock, so the synchronized methods are
  # not allowed to call each other.
  @mutex = Mutex.new
end

Public Instance Methods

[](key) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 19
def [](key)
  @mutex.synchronize { super }
end
[]=(key, value) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 23
def []=(key, value)
  @mutex.synchronize { super }
end
clear() click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 67
def clear
  @mutex.synchronize { super }
end
compute(key) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 35
def compute(key)
  @mutex.synchronize { super }
end
compute_if_absent(key) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 27
def compute_if_absent(key)
  @mutex.synchronize { super }
end
compute_if_present(key) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 31
def compute_if_present(key)
  @mutex.synchronize { super }
end
delete(key) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 59
def delete(key)
  @mutex.synchronize { super }
end
delete_pair(key, value) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 63
def delete_pair(key, value)
  @mutex.synchronize { super }
end
get_and_set(key, value) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 51
def get_and_set(key, value)
  @mutex.synchronize { super }
end
get_or_default(key, default_value) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 75
def get_or_default(key, default_value)
  @mutex.synchronize { super }
end
key?(key) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 55
def key?(key)
  @mutex.synchronize { super }
end
merge_pair(key, value) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 39
def merge_pair(key, value)
  @mutex.synchronize { super }
end
replace_if_exists(key, new_value) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 47
def replace_if_exists(key, new_value)
  @mutex.synchronize { super }
end
replace_pair(key, old_value, new_value) click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 43
def replace_pair(key, old_value, new_value)
  @mutex.synchronize { super }
end
size() click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 71
def size
  @mutex.synchronize { super }
end

Private Instance Methods

dupped_backend() click to toggle source
# File lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb, line 80
def dupped_backend
  @mutex.synchronize { super }
end