Sha256: 93725aca38f40a9d78aafe43a9fe9d2784861f87542a2aecc23723b39c2110f2

Contents?: true

Size: 1.4 KB

Versions: 39

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

# :reek:UtilityFunction

module RubyRabbitmqJanus
  module Janus
    module Concurrencies
      # Manage message used for keepalive thread
      #
      # @attribute [r] instance
      #   @return [String] ID to Janus Instance
      class KeepaliveMessage
        attr_reader :instance

        def initialize(instance)
          @instance = instance.id
        end

        def session
          Janus::Messages::Standard.new('base::create', param_instance)
        end

        def response_session(message)
          RubyRabbitmqJanus::Janus::Responses::Standard.new(message).session
        end

        def keepalive(session)
          parameter = param_session(session)
          Janus::Messages::Standard.new('base::keepalive', parameter)
        end

        def response_acknowledgement(message)
          RubyRabbitmqJanus::Janus::Responses::Standard.new(message).error?
        end

        def destroy(session)
          parameter = param_session(session)
          Janus::Messages::Standard.new('base::destroy', parameter)
        end

        def response_destroy(message)
          RubyRabbitmqJanus::Janus::Responses::Standard.new(message)
        end

        private

        def param_instance
          { 'instance' => @instance }
        end

        def param_session(session)
          { 'session_id' => session }.merge(param_instance)
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
ruby_rabbitmq_janus-2.7.1 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.7.1.pre.274 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.7.0.pre.272 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.7.0 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.7.0.pre.269 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.7.0.pre.267 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.263 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.261 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.260 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.259 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.258 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.247 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.246 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.244 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.240 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.239 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.238 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.233 lib/rrj/janus/processus/keepalive/keepalive_message.rb
ruby_rabbitmq_janus-2.6.0.pre.229 lib/rrj/janus/processus/keepalive/keepalive_message.rb