Class List Method List File List

# Class: Vertx::MessageProducer

Inherits:
  Object
  - Object
  - Vertx::MessageProducer
  show all
Includes:
  WriteStream
Defined in:
  /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/message_producer.rb

## Overview

Represents a stream of message that can be written to.

## Class Method Summary (collapse)

- + (Object) DEFAULT_WRITE_QUEUE_MAX_SIZE

## Instance Method Summary (collapse)

- - (String) address
  The address to which the producer produces messages.
- - (void) close
  Closes the producer, this method should be called when the message producer is not used anymore.
- - (self) delivery_options(options = nil)
  Update the delivery options of this producer.
- - (self) drain_handler { ... }
- - (void) end(t = nil)
  Same as #end but writes some data to the stream before ending.
- - (self) exception_handler { ... }
- - (::Vertx::MessageProducer) send(message = nil) { ... }
  Like #send but specifying a replyHandler that will be called if the recipient subsequently replies to the message.
- - (self) set_write_queue_max_size(maxSize = nil)
- - (self) write(data = nil)
- - (true, false) write_queue_full?
  This will return true if there are more bytes in the write queue than the value set using #set_write_queue_max_size.

## Class Method Details

### + (`Object`) DEFAULT_WRITE_QUEUE_MAX_SIZE

    114
    115
    116
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/message_producer.rb', line 114

    def self.DEFAULT_WRITE_QUEUE_MAX_SIZE
      Java::IoVertxCoreEventbus::MessageProducer.DEFAULT_WRITE_QUEUE_MAX_SIZE
    end

## Instance Method Details

### - (`String`) address

Returns The address to which the producer produces messages.

Returns:

- (`String`) —
  The address to which the producer produces messages.

Raises:

- (`ArgumentError`)

    100
    101
    102
    103
    104
    105
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/message_producer.rb', line 100

    def address
      if !block_given?
        return @j_del.java_method(:address, []).call()
      end
      raise ArgumentError, "Invalid arguments when calling address()"
    end

### - (`void`) close

This method returns an undefined value.

Closes the producer, this method should be called when the message producer is not used anymore.

Raises:

- (`ArgumentError`)

    108
    109
    110
    111
    112
    113
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/message_producer.rb', line 108

    def close
      if !block_given?
        return @j_del.java_method(:close, []).call()
      end
      raise ArgumentError, "Invalid arguments when calling close()"
    end

### - (`self`) delivery_options(options = nil)

Update the delivery options of this producer.

Parameters:

- options (`Hash`) (defaults to: `nil`) —
  the new options

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    92
    93
    94
    95
    96
    97
    98
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/message_producer.rb', line 92

    def delivery_options(options=nil)
      if options.class == Hash && !block_given?
        @j_del.java_method(:deliveryOptions, [Java::IoVertxCoreEventbus::DeliveryOptions.java_class]).call(Java::IoVertxCoreEventbus::DeliveryOptions.new(::Vertx::Util::Utils.to_json_object(options)))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling delivery_options(#{options})"
    end

### - (`self`) drain_handler { ... }

Yields:

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

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

    def drain_handler
      if block_given?
        @j_del.java_method(:drainHandler, [Java::IoVertxCore::Handler.java_class]).call(Proc.new { yield })
        return self
      end
      raise ArgumentError, "Invalid arguments when calling drain_handler()"
    end

### - (`void`) end(t = nil)

This method returns an undefined value.

Same as #end but writes some data to the stream before ending.

Parameters:

- t (`Object`) (defaults to: `nil`)

Raises:

- (`ArgumentError`)

    24
    25
    26
    27
    28
    29
    30
    31
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/message_producer.rb', line 24

    def end(t=nil)
      if !block_given? && t == nil
        return @j_del.java_method(:end, []).call()
      elsif @j_arg_T.accept?(t) && !block_given?
        return @j_del.java_method(:end, [Java::java.lang.Object.java_class]).call(@j_arg_T.unwrap(t))
      end
      raise ArgumentError, "Invalid arguments when calling end(#{t})"
    end

### - (`self`) exception_handler { ... }

Yields:

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

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

    def exception_handler
      if block_given?
        @j_del.java_method(:exceptionHandler, [Java::IoVertxCore::Handler.java_class]).call((Proc.new { |event| yield(::Vertx::Util::Utils.from_throwable(event)) }))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling exception_handler()"
    end

### - (`::Vertx::MessageProducer`) send(message = nil) { ... }

Like #send but specifying a `replyHandler` that will be called if the recipient subsequently replies to the message.

Parameters:

- message (`Object`) (defaults to: `nil`) —
  the message to send

Yields:

- reply handler will be called when any reply from the recipient is received, may be `null`

Returns:

- (`::Vertx::MessageProducer`) —
  reference to this for fluency

Raises:

- (`ArgumentError`)

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

    def send(message=nil)
      if @j_arg_T.accept?(message) && !block_given?
        return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:send, [Java::java.lang.Object.java_class]).call(@j_arg_T.unwrap(message)),::Vertx::MessageProducer, nil)
      elsif @j_arg_T.accept?(message) && block_given?
        return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:send, [Java::java.lang.Object.java_class,Java::IoVertxCore::Handler.java_class]).call(@j_arg_T.unwrap(message),(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Message, nil) : nil) })),::Vertx::MessageProducer, nil)
      end
      raise ArgumentError, "Invalid arguments when calling send(#{message})"
    end

### - (`self`) set_write_queue_max_size(maxSize = nil)

Parameters:

- maxSize (`Fixnum`) (defaults to: `nil`)

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

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

    def set_write_queue_max_size(maxSize=nil)
      if maxSize.class == Fixnum && !block_given?
        @j_del.java_method(:setWriteQueueMaxSize, [Java::int.java_class]).call(maxSize)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_write_queue_max_size(#{maxSize})"
    end

### - (`self`) write(data = nil)

Parameters:

- data (`Object`) (defaults to: `nil`)

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

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

    def write(data=nil)
      if @j_arg_T.accept?(data) && !block_given?
        @j_del.java_method(:write, [Java::java.lang.Object.java_class]).call(@j_arg_T.unwrap(data))
        return self
      end
      raise ArgumentError, "Invalid arguments when calling write(#{data})"
    end

### - (`true`, `false`) write_queue_full?

This will return `true` if there are more bytes in the write queue than the value set using #set_write_queue_max_size

Returns:

- (`true`, `false`) —
  true if write queue is full

Raises:

- (`ArgumentError`)

    34
    35
    36
    37
    38
    39
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/message_producer.rb', line 34

    def write_queue_full?
      if !block_given?
        return @j_del.java_method(:writeQueueFull, []).call()
      end
      raise ArgumentError, "Invalid arguments when calling write_queue_full?()"
    end