Class: RubyRabbitmqJanus::RRJAdmin

Inherits:
RRJ
  • Object
show all
Defined in:
lib/rrj/admin.rb

Overview

# RubyRabbitmqJanus - RRJAdmin

This class inherite to a classic initializer but it’s used for admin request sending to janus (Admin/Monitor API).

**Is used just for sending a message to Janus Monitor/Admin API.**. **The queue is always ***exclusive*** for not transmitting data to anyone.**

Instance Attribute Summary

Attributes inherited from RRJ

#session

Instance Method Summary collapse

Methods inherited from RRJ

#cleanup_connection!, #handle_endpoint_private, #handle_endpoint_public, #initialize, #session_endpoint_private, #session_endpoint_public

Constructor Details

This class inherits a constructor from RubyRabbitmqJanus::RRJ

Instance Method Details

#admin_endpoint(options = {}) ⇒ Object

Create a transaction between Apps and Janus

Examples:

List all sessions in Janus Instance

instance = { 'instance' => 42 }
@rrj.admin_endpoint(instance) do |transaction|
  response = transaction.publish_message('admin:sessions').sessions
end

Change log level to Janus Instance

instance = { 'instance' => 42 }
options = instance.merge({ 'level' => 5 })
@rrj.admin_endpoint(options) do |transaction|
  response = transaction.publish_message('admin:set_log_level', options)
end

Parameters:

  • options (Hash) (defaults to: {})

    Give a session number for use another session in Janus

Since:

  • 2.7.0



38
39
40
41
# File 'lib/rrj/admin.rb', line 38

def admin_endpoint(options = {})
  transaction = Janus::Transactions::Admin.new(options)
  transaction.connect { yield(transaction) }
end