Class: Vertx::Counter

Inherits:
Object
  • Object
show all
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb

Overview

An asynchronous counter that can be used to across the cluster to maintain a consistent count.

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


18
19
20
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 18

def @@j_api_type.accept?(obj)
  obj.class == Counter
end

+ (Object) j_api_type



27
28
29
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 27

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



30
31
32
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 30

def self.j_class
  Java::IoVertxCoreShareddata::Counter.java_class
end

+ (Object) unwrap(obj)



24
25
26
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 24

def @@j_api_type.unwrap(obj)
  obj.j_del
end

+ (Object) wrap(obj)



21
22
23
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 21

def @@j_api_type.wrap(obj)
  Counter.new(obj)
end

Instance Method Details

- (void) add_and_get(value = nil) { ... }

This method returns an undefined value.

Add the value to the counter atomically and return the new count

Parameters:

  • value (Fixnum) (defaults to: nil)
    the value to add

Yields:

  • handler which will be passed the value

Raises:

  • (ArgumentError)


73
74
75
76
77
78
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 73

def add_and_get(value=nil)
  if value.class == Fixnum && block_given?
    return @j_del.java_method(:addAndGet, [Java::long.java_class,Java::IoVertxCore::Handler.java_class]).call(value,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling add_and_get(#{value})"
end

- (void) compare_and_set(expected = nil, value = nil) { ... }

This method returns an undefined value.

Set the counter to the specified value only if the current value is the expectec value. This happens atomically.

Parameters:

  • expected (Fixnum) (defaults to: nil)
    the expected value
  • value (Fixnum) (defaults to: nil)
    the new value

Yields:

  • the handler will be passed true on success

Raises:

  • (ArgumentError)


95
96
97
98
99
100
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 95

def compare_and_set(expected=nil,value=nil)
  if expected.class == Fixnum && value.class == Fixnum && block_given?
    return @j_del.java_method(:compareAndSet, [Java::long.java_class,Java::long.java_class,Java::IoVertxCore::Handler.java_class]).call(expected,value,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling compare_and_set(#{expected},#{value})"
end

- (void) decrement_and_get { ... }

This method returns an undefined value.

Decrement the counter atomically and return the new count

Yields:

  • handler which will be passed the value

Raises:

  • (ArgumentError)


63
64
65
66
67
68
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 63

def decrement_and_get
  if block_given?
    return @j_del.java_method(:decrementAndGet, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling decrement_and_get()"
end

- (void) get { ... }

This method returns an undefined value.

Get the current value of the counter

Yields:

  • handler which will be passed the value

Raises:

  • (ArgumentError)


36
37
38
39
40
41
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 36

def get
  if block_given?
    return @j_del.java_method(:get, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling get()"
end

- (void) get_and_add(value = nil) { ... }

This method returns an undefined value.

Add the value to the counter atomically and return the value before the add

Parameters:

  • value (Fixnum) (defaults to: nil)
    the value to add

Yields:

  • handler which will be passed the value

Raises:

  • (ArgumentError)


83
84
85
86
87
88
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 83

def get_and_add(value=nil)
  if value.class == Fixnum && block_given?
    return @j_del.java_method(:getAndAdd, [Java::long.java_class,Java::IoVertxCore::Handler.java_class]).call(value,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling get_and_add(#{value})"
end

- (void) get_and_increment { ... }

This method returns an undefined value.

Increment the counter atomically and return the value before the increment.

Yields:

  • handler which will be passed the value

Raises:

  • (ArgumentError)


54
55
56
57
58
59
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 54

def get_and_increment
  if block_given?
    return @j_del.java_method(:getAndIncrement, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling get_and_increment()"
end

- (void) increment_and_get { ... }

This method returns an undefined value.

Increment the counter atomically and return the new count

Yields:

  • handler which will be passed the value

Raises:

  • (ArgumentError)


45
46
47
48
49
50
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/counter.rb', line 45

def increment_and_get
  if block_given?
    return @j_del.java_method(:incrementAndGet, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ar.result : nil) }))
  end
  raise ArgumentError, "Invalid arguments when calling increment_and_get()"
end