Class: Vertx::SharedData
- Inherits:
-
Object
- Object
- Vertx::SharedData
- Defined in:
- /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb
Overview
Shared data provides:
- synchronous shared maps (local)
- asynchronous maps (local or cluster-wide)
- asynchronous locks (local or cluster-wide)
- asynchronous counters (local or cluster-wide)
WARNING: In clustered mode, asynchronous maps/locks/counters rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous maps/locks/counters operations can be much higher in clustered than in local mode.
Please see the documentation for more information.Constant Summary
- @@j_api_type =
Object.new
Class Method Summary (collapse)
- + (Boolean) accept?(obj)
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)
Instance Method Summary (collapse)
-
- (void) get_async_map(name = nil) { ... }
Get the AsyncMap with the specified name.
-
- (void) get_cluster_wide_map(name = nil) { ... }
Get the cluster wide map with the specified name.
-
- (void) get_counter(name = nil) { ... }
Get an asynchronous counter.
-
- (void) get_local_async_map(name = nil) { ... }
Get the AsyncMap with the specified name.
-
- (void) get_local_counter(name = nil) { ... }
Get an asynchronous local counter.
-
- (void) get_local_lock(name = nil) { ... }
Get an asynchronous local lock with the specified name.
-
- (void) get_local_lock_with_timeout(name = nil, timeout = nil) { ... }
Like #get_local_lock but specifying a timeout.
-
- (::Vertx::LocalMap) get_local_map(name = nil)
Return a LocalMap with the specific name.
-
- (void) get_lock(name = nil) { ... }
Get an asynchronous lock with the specified name.
-
- (void) get_lock_with_timeout(name = nil, timeout = nil) { ... }
Like #get_lock but specifying a timeout.
Class Method Details
+ (Boolean) accept?(obj)
35 36 37 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 35 def @@j_api_type.accept?(obj) obj.class == SharedData end |
+ (Object) j_api_type
44 45 46 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 44 def self.j_api_type @@j_api_type end |
+ (Object) j_class
47 48 49 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 47 def self.j_class Java::IoVertxCoreShareddata::SharedData.java_class end |
+ (Object) unwrap(obj)
41 42 43 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 41 def @@j_api_type.unwrap(obj) obj.j_del end |
+ (Object) wrap(obj)
38 39 40 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 38 def @@j_api_type.wrap(obj) SharedData.new(obj) end |
Instance Method Details
- (void) get_async_map(name = nil) { ... }
This method returns an undefined value.
Get the AsyncMap with the specified name. When clustered, the map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.WARNING: In clustered mode, asynchronous shared maps rely on distributed data structures provided by the cluster manager. Beware that the latency relative to asynchronous shared maps operations can be much higher in clustered than in local mode.
70 71 72 73 74 75 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 70 def get_async_map(name=nil) if name.class == String && block_given? return @j_del.java_method(:getAsyncMap, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(name,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::AsyncMap, nil, nil) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_async_map(#{name})" end |
- (void) get_cluster_wide_map(name = nil) { ... }
This method returns an undefined value.
Get the cluster wide map with the specified name. The map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.
55 56 57 58 59 60 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 55 def get_cluster_wide_map(name=nil) if name.class == String && block_given? return @j_del.java_method(:getClusterWideMap, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(name,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::AsyncMap, nil, nil) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_cluster_wide_map(#{name})" end |
- (void) get_counter(name = nil) { ... }
This method returns an undefined value.
Get an asynchronous counter. The counter will be passed to the handler.
153 154 155 156 157 158 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 153 def get_counter(name=nil) if name.class == String && block_given? return @j_del.java_method(:getCounter, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(name,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Counter) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_counter(#{name})" end |
- (void) get_local_async_map(name = nil) { ... }
This method returns an undefined value.
Get the AsyncMap with the specified name.When clustered, the map is NOT accessible to all nodes in the cluster. Only the instance which created the map can put and retrieve data from this map.
83 84 85 86 87 88 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 83 def get_local_async_map(name=nil) if name.class == String && block_given? return @j_del.java_method(:getLocalAsyncMap, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(name,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::AsyncMap, nil, nil) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_local_async_map(#{name})" end |
- (void) get_local_counter(name = nil) { ... }
This method returns an undefined value.
Get an asynchronous local counter. The counter will be passed to the handler.
163 164 165 166 167 168 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 163 def get_local_counter(name=nil) if name.class == String && block_given? return @j_del.java_method(:getLocalCounter, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(name,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Counter) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_local_counter(#{name})" end |
- (void) get_local_lock(name = nil) { ... }
This method returns an undefined value.
Get an asynchronous local lock with the specified name. The lock will be passed to the handler when it is available.In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.
127 128 129 130 131 132 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 127 def get_local_lock(name=nil) if name.class == String && block_given? return @j_del.java_method(:getLocalLock, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(name,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Lock) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_local_lock(#{name})" end |
- (void) get_local_lock_with_timeout(name = nil, timeout = nil) { ... }
This method returns an undefined value.
Like #get_local_lock but specifying a timeout. If the lock is not obtained within the timeout a failure will be sent to the handler.In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.
143 144 145 146 147 148 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 143 def get_local_lock_with_timeout(name=nil,timeout=nil) if name.class == String && timeout.class == Fixnum && block_given? return @j_del.java_method(:getLocalLockWithTimeout, [Java::java.lang.String.java_class,Java::long.java_class,Java::IoVertxCore::Handler.java_class]).call(name,timeout,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Lock) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_local_lock_with_timeout(#{name},#{timeout})" end |
- (::Vertx::LocalMap) get_local_map(name = nil)
LocalMap
with the specific name
.
172 173 174 175 176 177 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 172 def get_local_map(name=nil) if name.class == String && !block_given? return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:getLocalMap, [Java::java.lang.String.java_class]).call(name),::Vertx::LocalMap, nil, nil) end raise ArgumentError, "Invalid arguments when calling get_local_map(#{name})" end |
- (void) get_lock(name = nil) { ... }
This method returns an undefined value.
Get an asynchronous lock with the specified name. The lock will be passed to the handler when it is available.In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.
97 98 99 100 101 102 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 97 def get_lock(name=nil) if name.class == String && block_given? return @j_del.java_method(:getLock, [Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(name,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Lock) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_lock(#{name})" end |
- (void) get_lock_with_timeout(name = nil, timeout = nil) { ... }
This method returns an undefined value.
Like #get_lock but specifying a timeout. If the lock is not obtained within the timeout a failure will be sent to the handler.In general lock acquision is unordered, so that sequential attempts to acquire a lock, even from a single thread, can happen in non-sequential order.
113 114 115 116 117 118 |
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/shared_data.rb', line 113 def get_lock_with_timeout(name=nil,timeout=nil) if name.class == String && timeout.class == Fixnum && block_given? return @j_del.java_method(:getLockWithTimeout, [Java::java.lang.String.java_class,Java::long.java_class,Java::IoVertxCore::Handler.java_class]).call(name,timeout,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Lock) : nil) })) end raise ArgumentError, "Invalid arguments when calling get_lock_with_timeout(#{name},#{timeout})" end |