ruby_rabbitmq_janus 2.5.1 → 2.6.0.pre.226

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/bin/ruby_rabbitmq_janus +67 -0
  4. data/config/default.md +3 -0
  5. data/config/default.yml +6 -0
  6. data/lib/rrj/binary.rb +56 -0
  7. data/lib/rrj/errors/rabbit/base_event.rb +21 -0
  8. data/lib/rrj/errors/rabbit/listener/base.rb +29 -0
  9. data/lib/rrj/errors/rabbit/listener/from.rb +17 -0
  10. data/lib/rrj/errors/rabbit/listener/from_admin.rb +17 -0
  11. data/lib/rrj/errors/rabbit/listener/janus_instance.rb +17 -0
  12. data/lib/rrj/errors/rabbit/publisher/admin.rb +32 -0
  13. data/lib/rrj/errors/rabbit/publisher/base.rb +31 -0
  14. data/lib/rrj/errors/rabbit/publisher/exclusive.rb +33 -0
  15. data/lib/rrj/errors/rabbit/publisher/janus_instance.rb +23 -0
  16. data/lib/rrj/errors/rabbit/publisher/keepalive.rb +17 -0
  17. data/lib/rrj/errors/rabbit/publisher/non_exclusive.rb +33 -0
  18. data/lib/rrj/errors/rabbit/rabbit.rb +12 -6
  19. data/lib/rrj/info.rb +6 -5
  20. data/lib/rrj/init.rb +2 -2
  21. data/lib/rrj/janus/messages/message.rb +1 -1
  22. data/lib/rrj/janus/processus/event.rb +1 -1
  23. data/lib/rrj/janus/processus/keepalive/keepalive_thread.rb +3 -2
  24. data/lib/rrj/janus/responses/janus_instance.rb +28 -0
  25. data/lib/rrj/janus/responses/response.rb +1 -1
  26. data/lib/rrj/janus/transactions/admin.rb +1 -1
  27. data/lib/rrj/janus/transactions/handle.rb +1 -1
  28. data/lib/rrj/janus/transactions/transaction.rb +2 -2
  29. data/lib/rrj/models/concerns/janus_instance_callbacks.rb +9 -5
  30. data/lib/rrj/models/concerns/janus_instance_methods.rb +12 -0
  31. data/lib/rrj/rabbit/base_event.rb +47 -0
  32. data/lib/rrj/rabbit/connect.rb +12 -12
  33. data/lib/rrj/rabbit/{publish/listener.rb → listener/base.rb} +16 -18
  34. data/lib/rrj/rabbit/listener/from.rb +30 -0
  35. data/lib/rrj/rabbit/{publish/listener_admin.rb → listener/from_admin.rb} +6 -4
  36. data/lib/rrj/rabbit/listener/janus_instance.rb +36 -0
  37. data/lib/rrj/rabbit/{publish/publisher_admin.rb → publisher/admin.rb} +5 -10
  38. data/lib/rrj/rabbit/{publish/publisher.rb → publisher/base.rb} +10 -8
  39. data/lib/rrj/rabbit/{publish → publisher}/exclusive.rb +3 -3
  40. data/lib/rrj/rabbit/publisher/janus_instance.rb +27 -0
  41. data/lib/rrj/rabbit/{publish → publisher}/keepalive.rb +4 -2
  42. data/lib/rrj/rabbit/{publish → publisher}/non_exclusive.rb +3 -7
  43. data/lib/rrj/rabbit/rabbit.rb +1 -1
  44. data/lib/rrj/tools/gem/cluster.rb +0 -17
  45. data/lib/rrj/tools/gem/config.rb +9 -0
  46. data/lib/rrj/tools/gem/log.rb +3 -4
  47. data/lib/rrj/tools/gem/option.rb +2 -12
  48. data/lib/rrj/tools/replaces/admin.rb +4 -4
  49. data/lib/rrj/tools/replaces/handle.rb +6 -6
  50. data/lib/rrj/tools/replaces/replace.rb +6 -6
  51. data/lib/rrj/tools/replaces/session.rb +4 -4
  52. data/spec/factories/janus_instance.rb +1 -1
  53. data/spec/request/admin/request_allow_token_spec.rb +1 -0
  54. data/spec/request/admin/request_disallow_token_spec.rb +1 -0
  55. data/spec/request/admin/request_handle_info_spec.rb +1 -0
  56. data/spec/request/admin/request_list_handles_spec.rb +1 -0
  57. data/spec/request/admin/request_list_sessions_spec.rb +1 -0
  58. data/spec/request/admin/request_start_pcap_spec.rb +1 -0
  59. data/spec/request/admin/request_start_text2pcap_spec.rb +1 -0
  60. data/spec/request/admin/request_stop_pcap_spec.rb +1 -0
  61. data/spec/request/admin/request_stop_text2pcap_spec.rb +1 -0
  62. data/spec/request/base/request_attach_spec.rb +1 -1
  63. data/spec/request/base/request_create_spec.rb +2 -2
  64. data/spec/request/base/request_destroy_spec.rb +1 -1
  65. data/spec/request/base/request_detach_spec.rb +1 -1
  66. data/spec/request/base/request_info_spec.rb +2 -2
  67. data/spec/request/base/request_keepalive_spec.rb +1 -1
  68. data/spec/request/peer/request_offer_spec.rb +1 -1
  69. data/spec/request/peer/request_trickle_spec.rb +1 -1
  70. data/spec/request/peer/request_trickles_spec.rb +1 -1
  71. data/spec/rrj/{rrj_spec.rb → ruby_rabbitmq_janus_spec.rb} +21 -11
  72. data/spec/{thread/concurencies_spec.rb → ruby_rabbitmq_janus/janus/concurrencies/concurrency_spec.rb} +1 -1
  73. data/spec/{thread → ruby_rabbitmq_janus/janus/concurrencies}/keepalive_initializer_spec.rb +3 -2
  74. data/spec/{thread → ruby_rabbitmq_janus/janus/concurrencies}/keepalive_thread_spec.rb +3 -3
  75. data/spec/{thread → ruby_rabbitmq_janus/janus/concurrencies}/keepalive_timer_spec.rb +1 -1
  76. data/spec/{rrj/messages/messages_admin_spec.rb → ruby_rabbitmq_janus/janus/messages/admin_spec.rb} +1 -1
  77. data/spec/{rrj/messages/messages_message_spec.rb → ruby_rabbitmq_janus/janus/messages/message_spec.rb} +2 -1
  78. data/spec/{rrj/messages/messages_standard_spec.rb → ruby_rabbitmq_janus/janus/messages/standard_spec.rb} +1 -1
  79. data/spec/{rrj/responses/responses_admin_spec.rb → ruby_rabbitmq_janus/janus/responses/admin_spec.rb} +1 -1
  80. data/spec/{rrj/responses/responses_event_spec.rb → ruby_rabbitmq_janus/janus/responses/event_spec.rb} +3 -2
  81. data/spec/{rrj/responses/responses_response_spec.rb → ruby_rabbitmq_janus/janus/responses/response_spec.rb} +3 -3
  82. data/spec/{rrj/responses/responses_standard_spec.rb → ruby_rabbitmq_janus/janus/responses/standard_spec.rb} +4 -3
  83. data/spec/{rrj → ruby_rabbitmq_janus}/models/janus_instance_definition_spec.rb +2 -2
  84. data/spec/{rrj/models/janus_instance_transaction_spec.rb → ruby_rabbitmq_janus/models/janus_instance_spec.rb} +10 -9
  85. data/spec/{rrj → ruby_rabbitmq_janus}/rabbit/connect_spec.rb +1 -1
  86. data/spec/ruby_rabbitmq_janus/rabbit/listener/from_spec.rb +15 -0
  87. data/spec/{rrj → ruby_rabbitmq_janus}/rabbit/propertie_2_spec.rb +3 -3
  88. data/spec/{rrj → ruby_rabbitmq_janus}/rabbit/propertie_spec.rb +3 -3
  89. data/spec/ruby_rabbitmq_janus/rabbit/publisher/admin_spec.rb +12 -0
  90. data/spec/{rrj/rabbit/publish/base_publisher_spec.rb → ruby_rabbitmq_janus/rabbit/publisher/base_spec.rb} +3 -3
  91. data/spec/{rrj/rabbit/publish → ruby_rabbitmq_janus/rabbit/publisher}/exclusive_spec.rb +0 -0
  92. data/spec/{rrj/rabbit/publish → ruby_rabbitmq_janus/rabbit/publisher}/non_exclusive_spec.rb +0 -0
  93. data/spec/{rrj/tools/gem/rrj_cluster_spec.rb → ruby_rabbitmq_janus/tools/cluster_spec.rb} +1 -21
  94. data/spec/{rrj/tools/gem/rrj_config_spec.rb → ruby_rabbitmq_janus/tools/config_spec.rb} +26 -14
  95. data/spec/{rrj/tools/gem/rrj_log_spec.rb → ruby_rabbitmq_janus/tools/log_spec.rb} +10 -10
  96. data/spec/{rrj/tools/replace/replace_admin_spec.rb → ruby_rabbitmq_janus/tools/replaces/admin_spec.rb} +15 -15
  97. data/spec/{rrj/tools/replace/replace_handle_spec.rb → ruby_rabbitmq_janus/tools/replaces/handle_spec.rb} +14 -14
  98. data/spec/{rrj/tools/replace → ruby_rabbitmq_janus/tools/replaces}/replace_spec.rb +16 -17
  99. data/spec/{rrj/tools/replace/replace_session_spec.rb → ruby_rabbitmq_janus/tools/replaces/session_spec.rb} +14 -14
  100. data/spec/{rrj/tools/replace → ruby_rabbitmq_janus/tools}/type_spec.rb +19 -19
  101. data/spec/spec_helper.rb +1 -1
  102. data/spec/support/examples_request.rb +1 -1
  103. data/spec/support/type.rb +3 -3
  104. metadata +83 -59
  105. data/lib/rrj/errors/rabbit/publish/admin.rb +0 -30
  106. data/lib/rrj/errors/rabbit/publish/base_publisher.rb +0 -23
  107. data/lib/rrj/errors/rabbit/publish/exclusive.rb +0 -31
  108. data/lib/rrj/errors/rabbit/publish/listener.rb +0 -30
  109. data/lib/rrj/errors/rabbit/publish/non_exclusive.rb +0 -31
  110. data/lib/rrj/errors/rabbit/publish/publisher.rb +0 -38
  111. data/lib/rrj/rabbit/publish/base_publisher.rb +0 -50
  112. data/spec/rrj/rabbit/publish/admin_spec.rb +0 -12
  113. data/spec/rrj/rabbit/publish/listener_spec.rb +0 -15
  114. data/spec/rrj/rabbit/publish/publisher_spec.rb +0 -13
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- module Errors
5
- module Rabbit
6
- # Define a super class for all errors in Rabbit::Publisher::PublisherAdmin
7
- class BasePublisherAdmin < BaseErrorPublisher
8
- def initialize(message, level = :fatal)
9
- super "[Admin] #{message}", level
10
- end
11
- end
12
-
13
- module PublisherAdmin
14
- # Error for Rabbit::Publisher::PublisherAdmin#initialize
15
- class Initialize < RubyRabbitmqJanus::Errors::Rabbit::BasePublisherAdmin
16
- def initialize
17
- super 'Error in initializer'
18
- end
19
- end
20
-
21
- # Error for Rabbit::Publisher::PublisherAdmin#publish
22
- class Publish < RubyRabbitmqJanus::Errors::Rabbit::BasePublisherAdmin
23
- def initialize
24
- super 'Error for publish message'
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- module Errors
5
- module Rabbit
6
- # Define a super class for all errors in Rabbit::Publisher::BasePublisher
7
- class BaseErrorPublisher < BaseRabbit
8
- def initialize(message, level = :fatal)
9
- super "[Publisher] #{message}", level
10
- end
11
- end
12
-
13
- module BasePublisher
14
- # Error for Rabbit::Publisher::BasePublisher#initialize
15
- class Initialize < RubyRabbitmqJanus::Errors::Rabbit::BaseErrorPublisher
16
- def initialize
17
- super 'Error in initializer'
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- module Errors
5
- module Rabbit
6
- # Define a super class for all errors in
7
- # Rabbit::Publisher::PublishExclusive
8
- class BasePublishExclusive < BaseErrorPublisher
9
- def initialize(message, level = :fatal)
10
- super "[Exclusive] #{message}", level
11
- end
12
- end
13
-
14
- module PublishExclusive
15
- # Error for Rabbit::Publisher::PublishExclusive#initialize
16
- class Initialize < Errors::Rabbit::BasePublishExclusive
17
- def initialize
18
- super 'Error in initializer'
19
- end
20
- end
21
-
22
- # Error for Rabbit::Publisher::PublishExclusive#publish
23
- class Publish < Errors::Rabbit::BasePublishExclusive
24
- def initialize
25
- super 'Error for publish message'
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- module Errors
5
- module Rabbit
6
- # Define a super class for all errors in Rabbit::Publisher::Listener
7
- class BaseListener < BaseErrorPublisher
8
- def initialize(message, level = :fatal)
9
- super "[Listener] #{message}", level
10
- end
11
- end
12
-
13
- module Listener
14
- # Error for Rabbit::Publisher::Listener#initialize
15
- class Initialize < RubyRabbitmqJanus::Errors::Rabbit::BaseListener
16
- def initialize
17
- super 'Error in initializer'
18
- end
19
- end
20
-
21
- # Error for Rabbit::Publisher::Listener#listen_events
22
- class ListenEvents < RubyRabbitmqJanus::Errors::Rabbit::BaseListener
23
- def initialize
24
- super 'Error for listen events in RabbitMQ public queue'
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- module Errors
5
- module Rabbit
6
- # Define a super class for all errors in
7
- # Rabbit::Publisher::PublishNonExclusive
8
- class BasePublishNonExclusive < BaseErrorPublisher
9
- def initialize(message, level = :fatal)
10
- super "[Non Exclusive] #{message}", level
11
- end
12
- end
13
-
14
- module PublishNonExclusive
15
- # Error for Rabbit::Publisher::PublishNonExclusive#initialize
16
- class Initialize < Errors::Rabbit::BasePublishNonExclusive
17
- def initialize
18
- super 'Error in initializer'
19
- end
20
- end
21
-
22
- # Error for Rabbit::Publisher::PublishNonExclusive#publish
23
- class Publish < Errors::Rabbit::BasePublishNonExclusive
24
- def initialize
25
- super 'Error for publish message'
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # :reek:IrresponsibleModule
4
- #
5
- module RubyRabbitmqJanus
6
- module Errors
7
- module Rabbit
8
- # Define a super class for all errors in Rabbit::Publisher::Publish
9
- class BasePublish < BaseErrorPublisher
10
- def initialize(message, level = :fatal)
11
- super "[Publisher] #{message}", level
12
- end
13
- end
14
-
15
- module Publish
16
- # Error for Rabbit::Publisher::Publish#initialize
17
- class Initialize < RubyRabbitmqJanus::Errors::Rabbit::BasePublish
18
- def initialize
19
- super 'Error in initializer'
20
- end
21
- end
22
-
23
- # Error for Rabbit::Publisher::Publish#publish
24
- class Publish < RubyRabbitmqJanus::Errors::Rabbit::BasePublish
25
- def initialize
26
- super 'Error for publish message'
27
- end
28
- end
29
-
30
- class TestCorrelation < RubyRabbitmqJanus::Errors::Rabbit::BasePublish
31
- def initialize(message, propertie)
32
- super "Response correlation ID mismatch (#{message} != #{propertie})", :fatal
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'semaphore'
4
-
5
- module RubyRabbitmqJanus
6
- module Rabbit
7
- # Define an module for create an publisher
8
- module Publisher
9
- # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
10
-
11
- # # Parent class for all publisher
12
- # This element send and read a message in rabbitmq Queue
13
- #
14
- # @!attribute [r] response
15
- # @return [RubyRabbitmqJanus::Janus::Responses::Response]
16
- # Given a Janus response
17
- #
18
- # @abstract Publish message in RabbitMQ
19
- class BasePublisher
20
- attr_reader :responses
21
-
22
- # Define a base publisher
23
- def initialize
24
- @responses = []
25
- @semaphore = Semaphore.new
26
- @lock = Mutex.new
27
- rescue
28
- raise Errors::Rabbit::BasePublisher::Initialize
29
- end
30
-
31
- private
32
-
33
- attr_accessor :semaphore, :lock
34
-
35
- def return_response
36
- @semaphore.wait
37
- response = nil
38
- @lock.synchronize do
39
- response = @responses.shift
40
- end
41
- response
42
- end
43
- end
44
- end
45
- end
46
- end
47
-
48
- require 'rrj/rabbit/publish/publisher'
49
- require 'rrj/rabbit/publish/listener'
50
- require 'rrj/rabbit/publish/listener_admin'
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe RubyRabbitmqJanus::Rabbit::Connect, type: :rabbit,
6
- name: :publisher_admin do
7
- let(:pusblish) { RubyRabbitmqJanus::Rabbot::Publisher::PublisherAdmin.new }
8
-
9
- # @todo Complete test publisherAdmin
10
- describe 'PublisherAdmin' do
11
- end
12
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe RubyRabbitmqJanus::Rabbit::Publisher, type: :rabbit,
6
- name: :listener do
7
- let(:publish) do
8
- rabbit = RubyRabbitmqJanus::Rabbit::Connect.new.rabbit
9
- RubyRabbitmqJanus::Rabbit::Publisher::Listener.new(rabbit)
10
- end
11
-
12
- # @todo Complete spec publisher listener
13
- describe 'Listener' do
14
- end
15
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe RubyRabbitmqJanus::Rabbit::Publisher, type: :rabbit,
6
- name: :publisher do
7
- let(:publish) do
8
- end
9
-
10
- # @todo Complete spec publisher Publisher
11
- describe 'Publisher' do
12
- end
13
- end