Sha256: 6ecf948c74a62c7134bea7bd15bf9445e7597cf18a36c7c6afa47dc8b09a432e

Contents?: true

Size: 780 Bytes

Versions: 18

Compression:

Stored size: 780 Bytes

Contents

require 'asir/transport/composite'

module ASIR
  class Transport
    # !SLIDE
    # Broadcast Transport
    #
    # Broadcast to multiple Transports.
    class Broadcast < self
      include Composite

      def _send_message message, message_payload
        result = first_exception = nil
        transports.each do | transport |
          begin
            result = transport.send_message(message)
          rescue ::Exception => exc
            first_exception ||= exc
            _handle_send_message_exception! transport, message, exc
            raise exc unless @continue_on_exception
          end
        end
        if first_exception && @reraise_first_exception
          raise first_exception
        end
        result
      end

    end
    # !SLIDE END
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
asir-1.1.12 lib/asir/transport/broadcast.rb
asir-1.1.11 lib/asir/transport/broadcast.rb
asir-1.1.10 lib/asir/transport/broadcast.rb
asir-1.1.9 lib/asir/transport/broadcast.rb
asir-1.1.8 lib/asir/transport/broadcast.rb
asir-1.1.7 lib/asir/transport/broadcast.rb
asir-1.1.6 lib/asir/transport/broadcast.rb
asir-1.1.5 lib/asir/transport/broadcast.rb
asir-1.1.4 lib/asir/transport/broadcast.rb
asir-1.1.3 lib/asir/transport/broadcast.rb
asir-1.1.2 lib/asir/transport/broadcast.rb
asir-1.1.1 lib/asir/transport/broadcast.rb
asir-1.1.0 lib/asir/transport/broadcast.rb
asir-1.0.8 lib/asir/transport/broadcast.rb
asir-1.0.7 lib/asir/transport/broadcast.rb
asir-1.0.6 lib/asir/transport/broadcast.rb
asir-1.0.5 lib/asir/transport/broadcast.rb
asir-1.0.4 lib/asir/transport/broadcast.rb