class RubyRabbitmqJanus::Janus::Transactions::Session

@author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>

# Manage a transaction

Manage a transaction with message if contains a session identifier

Public Class Methods

new(exclusive, session) click to toggle source

Initialize a transaction with handle

@param [Fixnum] session

Use a session identifier for created message
Calls superclass method
# File lib/rrj/janus/transactions/session.rb, line 16
def initialize(exclusive, session)
  super(session)
  @exclusive = exclusive
end

Public Instance Methods

connect() { || ... } click to toggle source

Opening a short transaction with rabbitmq and close when is ending

@yield Send a message to Janus

# File lib/rrj/janus/transactions/session.rb, line 24
def connect
  rabbit.transaction_short do
    choose_queue
    yield
  end
end
publish_message(type, options = {}) click to toggle source

Publish a message to “standard” RabbitMQ queue.

# File lib/rrj/janus/transactions/session.rb, line 32
def publish_message(type, options = {})
  msg = Janus::Messages::Standard.new(type, opts.merge!(options))
  response = read_response(publisher.publish(msg))
  Janus::Responses::Standard.new(response)
end

Private Instance Methods

opts() click to toggle source
# File lib/rrj/janus/transactions/session.rb, line 40
def opts
  { 'session_id' => session }
end