ruby_rabbitmq_janus 1.1.12 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +127 -0
  3. data/Rakefile +1 -3
  4. data/config/default.md +14 -14
  5. data/config/default.yml +12 -18
  6. data/config/requests.md +80 -0
  7. data/config/requests/{channel → peer}/answer.json +1 -1
  8. data/config/requests/{channel → peer}/offer.json +0 -0
  9. data/lib/generators/ruby_rabbitmq_janus/install_generator.rb +1 -0
  10. data/lib/rrj/errors/config.rb +8 -1
  11. data/lib/rrj/errors/error.rb +18 -5
  12. data/lib/rrj/errors/janus.rb +4 -2
  13. data/lib/rrj/errors/janus_message.rb +19 -15
  14. data/lib/rrj/errors/janus_response.rb +13 -26
  15. data/lib/rrj/errors/janus_transaction.rb +7 -13
  16. data/lib/rrj/errors/rabbit.rb +3 -9
  17. data/lib/rrj/info.rb +1 -1
  18. data/lib/rrj/init.rb +118 -68
  19. data/lib/rrj/janus/processus/concurrency.rb +8 -22
  20. data/lib/rrj/janus/processus/event.rb +13 -15
  21. data/lib/rrj/janus/processus/keepalive.rb +20 -15
  22. data/lib/rrj/janus/responses/response.rb +0 -1
  23. data/lib/rrj/janus/transactions/admin.rb +14 -22
  24. data/lib/rrj/janus/transactions/handle.rb +19 -33
  25. data/lib/rrj/janus/transactions/session.rb +13 -6
  26. data/lib/rrj/janus/transactions/transaction.rb +16 -24
  27. data/lib/rrj/rabbit/connect.rb +3 -4
  28. data/lib/rrj/rabbit/propertie.rb +6 -9
  29. data/lib/rrj/rabbit/publish/admin.rb +1 -1
  30. data/lib/rrj/rabbit/publish/base_publisher.rb +5 -0
  31. data/lib/rrj/rabbit/publish/listener.rb +1 -1
  32. data/lib/rrj/rabbit/publish/non_exclusive.rb +1 -1
  33. data/lib/rrj/tools/config.rb +44 -18
  34. data/lib/rrj/tools/log.rb +30 -15
  35. data/lib/rrj/tools/replaces/admin.rb +1 -3
  36. data/lib/rrj/tools/replaces/replace.rb +1 -6
  37. data/lib/rrj/tools/requests.rb +8 -8
  38. data/lib/rrj/tools/tools.rb +0 -1
  39. data/lib/ruby_rabbitmq_janus.rb +1 -0
  40. data/spec/request/admin/request_handle_info_spec.rb +3 -3
  41. data/spec/request/base/request_attach_spec.rb +7 -10
  42. data/spec/request/base/request_detach_spec.rb +6 -9
  43. data/spec/request/peer/request_answer_spec.rb +66 -0
  44. data/spec/request/peer/request_offer_spec.rb +113 -0
  45. data/spec/request/peer/request_trickle_spec.rb +9 -11
  46. data/spec/rrj/rrj_log_spec.rb +1 -6
  47. data/spec/spec_helper.rb +0 -1
  48. data/spec/support/examples.rb +6 -9
  49. data/spec/support/schemas/config/config.json +20 -32
  50. data/spec/support/schemas/request/peer/answer.json +15 -0
  51. data/spec/support/schemas/request/peer/offer.json +15 -0
  52. data/spec/support/schemas/request/peer/trickle.json +4 -12
  53. metadata +10 -19
  54. data/config/requests/channel/README.md +0 -29
  55. data/config/requests/channel/create.json +0 -9
  56. data/config/requests/channel/describe.json +0 -10
  57. data/config/requests/channel/destroy.json +0 -10
  58. data/config/requests/channel/exists.json +0 -10
  59. data/config/requests/channel/join.json +0 -11
  60. data/config/requests/channel/leave.json +0 -11
  61. data/config/requests/channel/list.json +0 -9
  62. data/config/requests/channel/select.json +0 -11
  63. data/config/requests/channel/trickle.json +0 -10
  64. data/config/requests/videocast/join.json +0 -12
  65. data/config/requests/videocast/leave.json +0 -11
  66. data/config/ruby-rabbitmq-janus.yml +0 -27
  67. data/lib/rrj/errors/request.rb +0 -21
  68. data/lib/rrj/tools/env.rb +0 -22
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'RubyRabbitmqJanus::RRJ -- message type answer', broken: true do
6
+ before(:example) do
7
+ sdp = <<END
8
+ v=0
9
+ o=- 7041456084360858977 2 IN IP4 127.0.0.1
10
+ s=-
11
+ t=0 0
12
+ a=group:BUNDLE audio video
13
+ a=msid-semantic: WMS 2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY
14
+ m=audio 9 UDP/TLS/RTP/SAVPF 111
15
+ c=IN IP4 0.0.0.0
16
+ a=rtcp:9 IN IP4 0.0.0.0
17
+ a=ice-ufrag:T9QI
18
+ a=ice-pwd:s9YvfGuavTZN0Lqc53JNInEP
19
+ a=fingerprint:sha-256 6D:ED:BC:93:AC:EC:C2:29:03:7D:6A:60:9F:D3:F5:A1:6D:1A:38:CE:F0:C0:EC:C8:5D:87:19:19:BE:0F:89:BB
20
+ a=setup:actpass
21
+ a=mid:audio
22
+ a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
23
+ a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
24
+ a=sendonly
25
+ a=rtcp-mux
26
+ a=rtpmap:111 opus/48000/2
27
+ a=rtcp-fb:111 transport-cc
28
+ a=fmtp:111 minptime=10;useinbandfec=1
29
+ m=video 9 UDP/TLS/RTP/SAVPF 100
30
+ c=IN IP4 0.0.0.0
31
+ a=rtcp:9 IN IP4 0.0.0.0
32
+ a=ice-ufrag:T9QI
33
+ a=ice-pwd:s9YvfGuavTZN0Lqc53JNInEP
34
+ a=fingerprint:sha-256 6D:ED:BC:93:AC:EC:C2:29:03:7D:6A:60:9F:D3:F5:A1:6D:1A:38:CE:F0:C0:EC:C8:5D:87:19:19:BE:0F:89:BB
35
+ a=setup:actpass
36
+ a=mid:video
37
+ a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
38
+ a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
39
+ a=extmap:4 urn:3gpp:video-orientation
40
+ a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
41
+ a=sendonly
42
+ a=rtcp-mux
43
+ a=rtcp-rsize
44
+ a=rtpmap:100 VP8/90000
45
+ a=rtcp-fb:100 ccm fir
46
+ a=rtcp-fb:100 nack
47
+ a=rtcp-fb:100 nack pli
48
+ a=rtcp-fb:100 goog-remb
49
+ a=rtcp-fb:100 transport-cc
50
+ END
51
+ @type = 'peer::answer'
52
+ @options = { 'replace' => { 'sdp' => sdp }, 'add' => {} }
53
+ end
54
+
55
+ describe '#message_handle', type: :request, level: :peer, name: :answer do
56
+ context 'when queue is exclusive' do
57
+ it_behaves_like 'message_handle should match json schema'
58
+ end
59
+
60
+ context 'when queue is not exclusive' do
61
+ it_behaves_like 'message_handle should match json empty'
62
+ end
63
+ end
64
+
65
+ after(:example) { @gateway.handle_message_simple('base::detach') }
66
+ end
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'RubyRabbitmqJanus::RRJ -- message type offer', broken: true do
6
+ before(:example) do
7
+ sdp = <<END
8
+ v=0
9
+ o=- 7041456084360858977 2 IN IP4 127.0.0.1
10
+ s=-
11
+ t=0 0
12
+ a=group:BUNDLE audio video
13
+ a=msid-semantic: WMS 2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY
14
+ m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 126
15
+ c=IN IP4 0.0.0.0
16
+ a=rtcp:9 IN IP4 0.0.0.0
17
+ a=ice-ufrag:T9QI
18
+ a=ice-pwd:s9YvfGuavTZN0Lqc53JNInEP
19
+ a=fingerprint:sha-256 6D:ED:BC:93:AC:EC:C2:29:03:7D:6A:60:9F:D3:F5:A1:6D:1A:38:CE:F0:C0:EC:C8:5D:87:19:19:BE:0F:89:BB
20
+ a=setup:actpass
21
+ a=mid:audio
22
+ a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
23
+ a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
24
+ a=sendonly
25
+ a=rtcp-mux
26
+ a=rtpmap:111 opus/48000/2
27
+ a=rtcp-fb:111 transport-cc
28
+ a=fmtp:111 minptime=10;useinbandfec=1
29
+ a=rtpmap:103 ISAC/16000
30
+ a=rtpmap:104 ISAC/32000
31
+ a=rtpmap:9 G722/8000
32
+ a=rtpmap:0 PCMU/8000
33
+ a=rtpmap:8 PCMA/8000
34
+ a=rtpmap:106 CN/32000
35
+ a=rtpmap:105 CN/16000
36
+ a=rtpmap:13 CN/8000
37
+ a=rtpmap:126 telephone-event/8000
38
+ a=ssrc:2786155512 cname:/+YL75rdcn+UKbf9
39
+ a=ssrc:2786155512 msid:2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY e0f2490b-468a-4abc-9770-a5f99b13c152
40
+ a=ssrc:2786155512 mslabel:2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY
41
+ a=ssrc:2786155512 label:e0f2490b-468a-4abc-9770-a5f99b13c152
42
+ m=video 9 UDP/TLS/RTP/SAVPF 100 101 107 116 117 96 97 99 98
43
+ c=IN IP4 0.0.0.0
44
+ a=rtcp:9 IN IP4 0.0.0.0
45
+ a=ice-ufrag:T9QI
46
+ a=ice-pwd:s9YvfGuavTZN0Lqc53JNInEP
47
+ a=fingerprint:sha-256 6D:ED:BC:93:AC:EC:C2:29:03:7D:6A:60:9F:D3:F5:A1:6D:1A:38:CE:F0:C0:EC:C8:5D:87:19:19:BE:0F:89:BB
48
+ a=setup:actpass
49
+ a=mid:video
50
+ a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
51
+ a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
52
+ a=extmap:4 urn:3gpp:video-orientation
53
+ a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
54
+ a=sendonly
55
+ a=rtcp-mux
56
+ a=rtcp-rsize
57
+ a=rtpmap:100 VP8/90000
58
+ a=rtcp-fb:100 ccm fir
59
+ a=rtcp-fb:100 nack
60
+ a=rtcp-fb:100 nack pli
61
+ a=rtcp-fb:100 goog-remb
62
+ a=rtcp-fb:100 transport-cc
63
+ a=rtpmap:101 VP9/90000
64
+ a=rtcp-fb:101 ccm fir
65
+ a=rtcp-fb:101 nack
66
+ a=rtcp-fb:101 nack pli
67
+ a=rtcp-fb:101 goog-remb
68
+ a=rtcp-fb:101 transport-cc
69
+ a=rtpmap:107 H264/90000
70
+ a=rtcp-fb:107 ccm fir
71
+ a=rtcp-fb:107 nack
72
+ a=rtcp-fb:107 nack pli
73
+ a=rtcp-fb:107 goog-remb
74
+ a=rtcp-fb:107 transport-cc
75
+ a=fmtp:107 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
76
+ a=rtpmap:116 red/90000
77
+ a=rtpmap:117 ulpfec/90000
78
+ a=rtpmap:96 rtx/90000
79
+ a=fmtp:96 apt=100
80
+ a=rtpmap:97 rtx/90000
81
+ a=fmtp:97 apt=101
82
+ a=rtpmap:99 rtx/90000
83
+ a=fmtp:99 apt=107
84
+ a=rtpmap:98 rtx/90000
85
+ a=fmtp:98 apt=116
86
+ a=ssrc-group:FID 1022811670 258141567
87
+ a=ssrc:1022811670 cname:/+YL75rdcn+UKbf9
88
+ a=ssrc:1022811670 msid:2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY 25d58816-114a-41d2-aa08-1039e09f942f
89
+ a=ssrc:1022811670 mslabel:2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY
90
+ a=ssrc:1022811670 label:25d58816-114a-41d2-aa08-1039e09f942f
91
+ a=ssrc:258141567 cname:/+YL75rdcn+UKbf9
92
+ a=ssrc:258141567 msid:2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY 25d58816-114a-41d2-aa08-1039e09f942f
93
+ a=ssrc:258141567 mslabel:2jKToeOlpzKTn7anwnHOJmzFyhvEYt1kpcMY
94
+ a=ssrc:258141567 label:25d58816-114a-41d2-aa08-1039e09f942f
95
+ END
96
+ @type = 'peer::offer'
97
+ @options = { 'replace' => { 'sdp' => sdp }, 'add' => {} }
98
+ end
99
+
100
+ describe '#message_handle', type: :request, level: :peer, name: :offer do
101
+ let(:sdp) { 'v=0\r\no=[..more sdp stuff..]' }
102
+
103
+ context 'when queue is exclusive' do
104
+ it_behaves_like 'message_handle should match json schema'
105
+ end
106
+
107
+ context 'when queue is not exclusive' do
108
+ it_behaves_like 'message_handle should match json empty'
109
+ end
110
+ end
111
+
112
+ after(:example) { @gateway.handle_message_simple('base::detach') }
113
+ end
@@ -2,9 +2,11 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- # describe 'RubyRabbitmqJanus::RRJ -- message type trickle' do
6
- describe 'RubyRabbitmqJanus::RRJ -- message type trickle', broken: true do
7
- before(:example) { @type = 'peer::trickle' }
5
+ describe 'RubyRabbitmqJanus::RRJ -- message type trickle' do
6
+ before(:example) do
7
+ @type = 'peer::trickle'
8
+ @options = { 'replace' => {}, 'add' => {} }
9
+ end
8
10
 
9
11
  describe '#message_handle', type: :request, level: :peer, name: :trickle do
10
12
  let(:cdd) do
@@ -15,29 +17,25 @@ describe 'RubyRabbitmqJanus::RRJ -- message type trickle', broken: true do
15
17
 
16
18
  context 'when queue is exclusive and send 1 candidate' do
17
19
  it_behaves_like 'message_handle should match json schema' do
18
- let(:replace) { candidate }
19
- let(:add) { {} }
20
+ let(:options) { { replace: { candidates: candidate } } }
20
21
  end
21
22
  end
22
23
 
23
24
  context 'when queue is not exclusive and send 1 candidate' do
24
25
  it_behaves_like 'message_handle should match json empty' do
25
- let(:replace) { candidate }
26
- let(:add) { {} }
26
+ let(:options) { { replace: { candidates: candidate } } }
27
27
  end
28
28
  end
29
29
 
30
30
  context 'when queue is exclusive and send 1 candidate' do
31
31
  it_behaves_like 'message_handle should match json schema' do
32
- let(:replace) { candidates }
33
- let(:add) { {} }
32
+ let(:options) { { replace: { candidates: candidates } } }
34
33
  end
35
34
  end
36
35
 
37
36
  context 'when queue is exclusive and send many candidates' do
38
37
  it_behaves_like 'message_handle should match json empty' do
39
- let(:replace) { candidates }
40
- let(:add) { {} }
38
+ let(:options) { { replace: { candidates: candidates } } }
41
39
  end
42
40
  end
43
41
  end
@@ -7,15 +7,10 @@ describe 'RubyRabbitmqJanus::Log', type: :config, name: :log do
7
7
  expect(RubyRabbitmqJanus::Tools::Log.instance).not_to be nil
8
8
  end
9
9
 
10
- it 'Default level log is DEBUG' do
10
+ it 'Default level log is INFO' do
11
11
  # 0 = debug
12
12
  # ...
13
13
  # 5 = unknown
14
14
  expect(RubyRabbitmqJanus::Tools::Log.instance.level).to eq 1
15
15
  end
16
-
17
- it 'Default progname is RubyRabbitmqJanus' do
18
- expect(RubyRabbitmqJanus::Tools::Log.instance.progname).to \
19
- eq RubyRabbitmqJanus.name
20
- end
21
16
  end
data/spec/spec_helper.rb CHANGED
@@ -40,7 +40,6 @@ RSpec.configure do |config|
40
40
 
41
41
  # Configure requests test before sending request
42
42
  config.before(:example) do
43
- Singleton.__init__(RubyRabbitmqJanus::Tools::Env)
44
43
  Singleton.__init__(RubyRabbitmqJanus::Tools::Log)
45
44
  Singleton.__init__(RubyRabbitmqJanus::Tools::Config)
46
45
  Singleton.__init__(RubyRabbitmqJanus::Tools::Requests)
@@ -36,9 +36,7 @@ end
36
36
 
37
37
  # Handle request
38
38
  shared_examples 'message_handle should match json schema' do
39
- let(:replace) { replace }
40
- let(:add) { add }
41
- let(:message) { @gateway.message_handle(@type, replace, add) }
39
+ let(:message) { @gateway.message_handle(@type, @options) }
42
40
 
43
41
  it do
44
42
  @gateway.start_handle(true) do
@@ -48,9 +46,10 @@ shared_examples 'message_handle should match json schema' do
48
46
  end
49
47
 
50
48
  shared_examples 'message_handle should match json empty' do
51
- let(:replace) { replace }
52
- let(:add) { add }
53
- let(:message) { @gateway.message_handle(@type, replace, add) }
49
+ let(:message) do
50
+ options = options.nil? ? { replace: {}, add: {} } : options
51
+ @gateway.message_handle(@type, options)
52
+ end
54
53
 
55
54
  it do
56
55
  @gateway.start_handle(false) do
@@ -62,9 +61,7 @@ end
62
61
  # Handle admin
63
62
  shared_examples 'message_handle_admin should match json schema' do
64
63
  let(:message) do
65
- @gateway.start_handle_admin do
66
- @gateway.message_handle(@type)
67
- end
64
+ @gateway.message_admin(@type)
68
65
  end
69
66
 
70
67
  it do
@@ -23,32 +23,42 @@
23
23
  "queues": {
24
24
  "type": "hash",
25
25
  "properties": {
26
- "queue_from": { "type": "string" },
27
- "queue_to": { "type": "string" },
26
+ "standard": {
27
+ "type": "hash",
28
+ "properties": {
29
+ "from": { "type": "string" },
30
+ "to": { "type": "string" }
31
+ },
32
+ "required": [
33
+ "from",
34
+ "to"
35
+ ]
36
+ },
28
37
  "admin": {
29
38
  "type": "hash",
30
39
  "properties": {
31
- "queue_from": { "type": "string" },
32
- "queue_to": { "type": "string" }
40
+ "from": { "type": "string" },
41
+ "to": { "type": "string" }
33
42
  },
34
43
  "required": [
35
- "queue_from",
36
- "queue_to"
44
+ "from",
45
+ "to"
37
46
  ]
38
47
  }
39
48
  },
40
49
  "required": [
41
- "queue_from",
42
- "queue_to",
50
+ "standard",
43
51
  "admin"
44
52
  ]
45
53
  },
46
54
  "janus": {
47
55
  "type": "hash",
48
56
  "properties": {
49
- "plugins": { "type": "hash" }
57
+ "plugins": { "type": "hash" },
58
+ "session": { "type": "hash" }
50
59
  },
51
60
  "required": [
61
+ "session",
52
62
  "plugins"
53
63
  ]
54
64
  },
@@ -63,32 +73,10 @@
63
73
  "required": [
64
74
  "level"
65
75
  ]
66
- },
67
- "session": {
68
- "type": "hash",
69
- "properties": {
70
- "keepalive": { "type": "integer" }
71
- },
72
- "required": [
73
- "keepalive"
74
- ]
75
- },
76
- "thread": {
77
- "type": "hash",
78
- "properties": {
79
- "enable": { "type" : "boolean" },
80
- "number": { "type": "integer" }
81
- },
82
- "required": [
83
- "enable",
84
- "number"
85
- ]
86
76
  }
87
77
  },
88
78
  "required": [
89
- "log",
90
- "session",
91
- "thread"
79
+ "log"
92
80
  ]
93
81
  }
94
82
  },
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "janus": { "type": "string", "pattern": "ack" },
5
+ "transaction": { "type": "string" },
6
+ "session_id": { "type": "integer" },
7
+ "handle_id": { "type": "integer" }
8
+ },
9
+ "required": [
10
+ "janus",
11
+ "transaction",
12
+ "session_id",
13
+ "handle_id"
14
+ ]
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "janus": { "type": "string", "pattern": "ack" },
5
+ "transaction": { "type": "string" },
6
+ "session_id": { "type": "integer" },
7
+ "handle_id": { "type": "integer" }
8
+ },
9
+ "required": [
10
+ "janus",
11
+ "transaction",
12
+ "session_id",
13
+ "handle_id"
14
+ ]
15
+ }
@@ -1,21 +1,13 @@
1
1
  {
2
2
  "type": "object",
3
3
  "properties": {
4
- "janus": { "type": "string", "pattern": "trickle" },
5
- "transaction": { "type": "string" },
6
- "candidate": {
7
- "type": "hash",
8
- "properties": {
9
- "completed": { "type": "boolean" }
10
- },
11
- "required": [
12
- "completed"
13
- ]
14
- }
4
+ "janus": { "type": "string", "pattern": "ack" },
5
+ "transaction": { "type": "string" },
6
+ "session_id": { "type": "integer" }
15
7
  },
16
8
  "required": [
17
9
  "janus",
18
10
  "transaction",
19
- "candidate"
11
+ "session_id"
20
12
  ]
21
13
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_rabbitmq_janus
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.12
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - VAILLANT Jeremy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-07 00:00:00.000000000 Z
11
+ date: 2016-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -292,9 +292,11 @@ extra_rdoc_files: []
292
292
  files:
293
293
  - Gemfile
294
294
  - LICENSE
295
+ - README.md
295
296
  - Rakefile
296
297
  - config/default.md
297
298
  - config/default.yml
299
+ - config/requests.md
298
300
  - config/requests/admin/handle_info.json
299
301
  - config/requests/admin/handles.json
300
302
  - config/requests/admin/log_level.json
@@ -305,22 +307,9 @@ files:
305
307
  - config/requests/base/detach.json
306
308
  - config/requests/base/info.json
307
309
  - config/requests/base/keepalive.json
308
- - config/requests/channel/README.md
309
- - config/requests/channel/answer.json
310
- - config/requests/channel/create.json
311
- - config/requests/channel/describe.json
312
- - config/requests/channel/destroy.json
313
- - config/requests/channel/exists.json
314
- - config/requests/channel/join.json
315
- - config/requests/channel/leave.json
316
- - config/requests/channel/list.json
317
- - config/requests/channel/offer.json
318
- - config/requests/channel/select.json
319
- - config/requests/channel/trickle.json
310
+ - config/requests/peer/answer.json
311
+ - config/requests/peer/offer.json
320
312
  - config/requests/peer/trickle.json
321
- - config/requests/videocast/join.json
322
- - config/requests/videocast/leave.json
323
- - config/ruby-rabbitmq-janus.yml
324
313
  - lib/generators/ruby_rabbitmq_janus/configuration_generator.rb
325
314
  - lib/generators/ruby_rabbitmq_janus/create_request_generator.rb
326
315
  - lib/generators/ruby_rabbitmq_janus/default_request_generator.rb
@@ -333,7 +322,6 @@ files:
333
322
  - lib/rrj/errors/janus_response.rb
334
323
  - lib/rrj/errors/janus_transaction.rb
335
324
  - lib/rrj/errors/rabbit.rb
336
- - lib/rrj/errors/request.rb
337
325
  - lib/rrj/info.rb
338
326
  - lib/rrj/init.rb
339
327
  - lib/rrj/janus/janus.rb
@@ -360,7 +348,6 @@ files:
360
348
  - lib/rrj/rabbit/publish/publisher.rb
361
349
  - lib/rrj/rabbit/rabbit.rb
362
350
  - lib/rrj/tools/config.rb
363
- - lib/rrj/tools/env.rb
364
351
  - lib/rrj/tools/log.rb
365
352
  - lib/rrj/tools/replaces/admin.rb
366
353
  - lib/rrj/tools/replaces/replace.rb
@@ -377,6 +364,8 @@ files:
377
364
  - spec/request/base/request_detach_spec.rb
378
365
  - spec/request/base/request_info_spec.rb
379
366
  - spec/request/base/request_keepalive_spec.rb
367
+ - spec/request/peer/request_answer_spec.rb
368
+ - spec/request/peer/request_offer_spec.rb
380
369
  - spec/request/peer/request_trickle_spec.rb
381
370
  - spec/rrj/rrj_config_spec.rb
382
371
  - spec/rrj/rrj_log_spec.rb
@@ -400,6 +389,8 @@ files:
400
389
  - spec/support/schemas/request/channel/destroy.json
401
390
  - spec/support/schemas/request/channel/exist.json
402
391
  - spec/support/schemas/request/channel/list.json
392
+ - spec/support/schemas/request/peer/answer.json
393
+ - spec/support/schemas/request/peer/offer.json
403
394
  - spec/support/schemas/request/peer/trickle.json
404
395
  homepage: https://github.com/dazzl-tv/ruby-rabbitmq-janus
405
396
  licenses: