signalwire 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 85b3509109fd09ce52f1f579294b3723c4bfc63337584dfc753c491645221868
4
- data.tar.gz: 35cf3f667c586fc788136eec75930785c360315594246a3dd9b0800123f86ee1
3
+ metadata.gz: 52a3ee7521ca981f6ba3708c08c52546d8f0552e4984efe371ff1bfcc92f6714
4
+ data.tar.gz: 38325b6730da2aeae07b81be5e1576aa08eee4b207f7f9d43541316498ff4dd7
5
5
  SHA512:
6
- metadata.gz: 5d9261efe1e472198348e53f8f7805baa24f50c4c6282e510200b84860bb17919a7bc0b0059b73c6b9c8b078eb854592e4d88a1bd6424598a433afa44f00ab20
7
- data.tar.gz: 18ce795d935a76bad953e7128d98932b5fc24353d8d842d639628ba10bb9f69f0ddcc91fadb3c4d2443809190ecc1a2851641e03f232b196652a7b818ad03016
6
+ metadata.gz: 71519d68edfdf1cf4531c48a9c3233965be0194d06e7f08d55810684f64af8a55c7bcdf0922344f3ecc67445fb79e6e83e38a070f5021ee670ae41fb822c3c57
7
+ data.tar.gz: 96c15dd6087165ae39ef4504f552a85d1115828274c87c455ce60e448698be474412100094db1a5d621c7c5214fd37c7cb8a862be6a9b811650946dfe2436f1a
@@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file.
3
3
 
4
4
  This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
+ ## [2.1.1] 2019-08-01
7
+ ### Fixed
8
+ - Correctly set `peer` on calls
9
+ ### Changed
10
+ - Call `Consumer::teardown` on shutdown
11
+
6
12
  ## [2.1.0] 2019-07-29
7
13
  ### Added
8
14
  - Tap API for Relay
@@ -21,6 +21,10 @@ class MyConsumer < Signalwire::Relay::Consumer
21
21
 
22
22
  call.hangup
23
23
  end
24
+
25
+ def teardown
26
+ puts "this is an example of teardown"
27
+ end
24
28
  end
25
29
 
26
30
  MyConsumer.new.run
@@ -25,7 +25,7 @@ module Signalwire::Blade
25
25
  @inbound_queue = EM::Queue.new
26
26
  @outbound_queue = EM::Queue.new
27
27
 
28
- @counter = 1
28
+ @shutdown_list = []
29
29
  end
30
30
 
31
31
  def connect!
@@ -193,8 +193,19 @@ module Signalwire::Blade
193
193
 
194
194
  def shutdown_from_signal
195
195
  @shutdown = true
196
+ shutdown_registered
196
197
  disconnect!
197
198
  exit
198
199
  end
200
+
201
+ def register_for_shutdown(obj)
202
+ @shutdown_list << obj
203
+ end
204
+
205
+ def shutdown_registered
206
+ @shutdown_list.each do |obj|
207
+ obj.stop
208
+ end
209
+ end
199
210
  end
200
211
  end
@@ -46,6 +46,7 @@ module Signalwire::Relay::Calling
46
46
  change_call_state(event.event_params)
47
47
  end
48
48
 
49
+ update_call_fields(event.call_params)
49
50
  broadcast :event, event
50
51
  broadcast :state_change, event
51
52
  end
@@ -56,8 +57,6 @@ module Signalwire::Relay::Calling
56
57
  @previous_state = @state
57
58
  @state = call_state[:call_state]
58
59
  broadcast :call_state_change, previous_state: @previous_state, state: @state
59
-
60
- update_call_fields(call_state)
61
60
  broadcast @state.to_sym, previous_state: @previous_state, state: @state
62
61
  finish_call(event_params) if @state == Relay::CallState::ENDED
63
62
  end
@@ -65,6 +64,7 @@ module Signalwire::Relay::Calling
65
64
  def update_call_fields(call_state)
66
65
  @id = call_state[:call_id] if call_state[:call_id]
67
66
  @node_id = call_state[:node_id] if call_state[:node_id]
67
+ @peer = call_state[:peer] if call_state[:peer]
68
68
  end
69
69
 
70
70
  def change_connect_state(new_connect_state)
@@ -95,6 +95,10 @@ module Signalwire::Relay::Calling
95
95
  !ended?
96
96
  end
97
97
 
98
+ def peer
99
+ @client.calling.find_call_by_id(@peer[:call_id]) if @peer && @peer[:call_id]
100
+ end
101
+
98
102
  def answer
99
103
  answer_component = Signalwire::Relay::Calling::Answer.new(call: self)
100
104
  answer_component.wait_for(Relay::CallState::ANSWERED, Relay::CallState::ENDING, Relay::CallState::ENDED)
@@ -31,25 +31,21 @@ module Signalwire::Relay
31
31
  @url = host || ENV['SIGNALWIRE_HOST'] || Signalwire::Relay::DEFAULT_URL
32
32
  @client = Signalwire::Relay::Client.new(project: @project,
33
33
  token: @token, host: @url)
34
+
35
+ @client.session.register_for_shutdown(self)
34
36
  end
35
37
 
36
38
  def setup; end
37
-
38
39
  def ready; end
39
-
40
40
  def teardown; end
41
-
42
41
  def on_task(task); end
43
42
  def on_incoming_message(message); end
44
43
  def on_message_state_change(message); end
45
-
46
- def on_event(event)
47
- # all-events firespout
48
- end
49
-
44
+ def on_event(event); end
50
45
  def on_incoming_call(call); end
51
46
 
52
47
  def run
48
+ logger.info "Starting up #{self.class}"
53
49
  setup
54
50
  client.once :ready do
55
51
  setup_receive_listeners
@@ -63,6 +59,11 @@ module Signalwire::Relay
63
59
 
64
60
  def stop
65
61
  teardown
62
+ logger_thread = Thread.new do
63
+ logger.info "#{self.class} Consumer shutting down."
64
+ end
65
+ logger_thread.join
66
+
66
67
  client.disconnect!
67
68
  end
68
69
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Signalwire
4
- VERSION = '2.1.0'
4
+ VERSION = '2.1.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signalwire
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SignalWire Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-30 00:00:00.000000000 Z
11
+ date: 2019-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler