Class: Vertx::SharedData
- Inherits:
-
Object
- Object
- Vertx::SharedData
- Defined in:
- src/main/ruby_scripts/core/shared_data.rb
Overview
Sometimes it is desirable to share immutable data between different event loops, for example to implement a cache of data.
This class allows instances of shareddata data structures to be looked up and used from different event loops. The data structures themselves will only allow certain data types to be stored into them. This shields the user from worrying about any thread safety issues might occur if mutable objects were shareddata between event loops.
The following types can be stored in a shareddata data structure:
String
FixNum
Float
{Buffer} this will be automatically copied, and the copy will be stored in the structure.
Constant Summary
- @@j_sd =
org.vertx.java.deploy.impl.VertxLocator.vertx.sharedData()
Class Method Summary (collapse)
-
+ (Hash) get_hash(key)
Return a Hash with the specific name.
-
+ (SharedSet) get_set(key)
Return a Set with the specific name.
-
+ (Object) remove_hash(key)
Remove the hash.
-
+ (Object) remove_set(key)
Remove the set.
Instance Method Summary (collapse)
Class Method Details
+ (Hash) get_hash(key)
Return a Hash with the specific name. All invocations of this method with the same value of name are guaranteed to return the same Hash instance.
42 43 44 45 |
# File 'src/main/ruby_scripts/core/shared_data.rb', line 42 def SharedData.get_hash(key) map = @@j_sd.getMap(key) SharedHash.new(map) end |
+ (SharedSet) get_set(key)
Return a Set with the specific name. All invocations of this method with the same value of name are guaranteed to return the same Set instance.
51 52 53 54 |
# File 'src/main/ruby_scripts/core/shared_data.rb', line 51 def SharedData.get_set(key) set = @@j_sd.getSet(key) SharedSet.new(set) end |
+ (Object) remove_hash(key)
Remove the hash
58 59 60 |
# File 'src/main/ruby_scripts/core/shared_data.rb', line 58 def SharedData.remove_hash(key) @@j_sd.removeMap(key) end |
+ (Object) remove_set(key)
Remove the set
64 65 66 |
# File 'src/main/ruby_scripts/core/shared_data.rb', line 64 def SharedData.remove_set(key) @@j_sd.removeSet(key) end |
Instance Method Details
- (Object) ==(other)
102 103 104 105 106 107 108 |
# File 'src/main/ruby_scripts/core/shared_data.rb', line 102 def ==(other) if other.is_a?(SharedHash) @hash.equal?(other._to_java_map) else false end end |
- (Object) _to_java_map
110 111 112 |
# File 'src/main/ruby_scripts/core/shared_data.rb', line 110 def _to_java_map @hash end |