webrtc-rails 0.3.12 → 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/webrtc_rails/main.js.coffee +1 -1
- data/lib/tasks/webrtc_rails.rake +3 -1
- data/lib/webrtc_rails/daemon.rb +53 -49
- data/lib/webrtc_rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51213994fad483a7358c400c6c9054732a014ce3
|
4
|
+
data.tar.gz: 941b0e02f8d72493cf18e129e172bfc713eb9bb2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea03a20429013f684ac6a8660cc46a1fb98fd7dfe2fd8707151820d32e51cefb33ec7b00e1227a13fcaa34be1a4bd4b5fd0927857a0d103ae84f170a1d3c7482
|
7
|
+
data.tar.gz: c9b7ea69bab10a8b9dc0861c37110cf3a5a16f5f83daefc19ef361979dbc392af3edc02b02c1dd86a7fcf90ed2b19813c390f987925abea7cdd696f2436cc5da
|
data/lib/tasks/webrtc_rails.rake
CHANGED
@@ -36,7 +36,9 @@ namespace :webrtc_rails do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
puts 'webrtc daemon started'
|
39
|
-
|
39
|
+
if ENV['WEBRTC_DAEMON'] != 'false'
|
40
|
+
Process.daemon(true, true)
|
41
|
+
end
|
40
42
|
|
41
43
|
output_dir = WebrtcRails.configuration.output_dir
|
42
44
|
stdout_file = File.join(output_dir, 'stdout')
|
data/lib/webrtc_rails/daemon.rb
CHANGED
@@ -50,61 +50,65 @@ module WebrtcRails
|
|
50
50
|
end
|
51
51
|
|
52
52
|
websocket.onmessage do |message|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
53
|
+
begin
|
54
|
+
data = JSON.parse(message, {symbolize_names: true})
|
55
|
+
token = data[:token]
|
56
|
+
next if token.blank?
|
57
|
+
user = @user_class.send(@fetch_user_by_token_method, token.to_s)
|
58
|
+
my_user_identifier = user ? user.send(@user_identifier).to_s : nil
|
59
|
+
event = data[:event]
|
60
|
+
next if my_user_identifier.blank? && event != 'heartbeat'
|
60
61
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
end
|
81
|
-
when 'setMyToken'
|
82
|
-
@websockets[my_user_identifier] ||= []
|
83
|
-
@websockets[my_user_identifier].push(websocket)
|
84
|
-
message = {
|
85
|
-
type: 'myUserIdentifier',
|
86
|
-
myUserIdentifier: my_user_identifier
|
87
|
-
}
|
88
|
-
@daemon_delegate.onWebSocketConnected(my_user_identifier)
|
89
|
-
websocket.send JSON.generate(message)
|
90
|
-
when 'sendMessage'
|
91
|
-
user_identifier = data[:value][:userIdentifier]
|
92
|
-
type = data[:value][:message][:type]
|
93
|
-
allow_types = %w/call hangUp offer answer candidate callFailed userMessage webSocketReconnected/
|
94
|
-
if @websockets.key?(user_identifier) && type.present? && allow_types.include?(type)
|
95
|
-
if type != 'call' || @daemon_delegate.onWantCall(my_user_identifier, user_identifier)
|
96
|
-
message = data[:value][:message]
|
97
|
-
message[:remoteUserIdentifier] = my_user_identifier
|
98
|
-
sendMessage(user_identifier, message)
|
62
|
+
case event
|
63
|
+
when 'heartbeat'
|
64
|
+
user_info = data[:value][:userInfo]
|
65
|
+
@daemon_delegate.onWebSocketHeartbeated(my_user_identifier, user_info)
|
66
|
+
when 'userMessage'
|
67
|
+
user_identifier = data[:value][:userIdentifier]
|
68
|
+
event_value = data[:value][:event]
|
69
|
+
message = data[:value][:message]
|
70
|
+
if @daemon_delegate.onWantSendUserMessage(my_user_identifier, user_identifier, event_value, message)
|
71
|
+
message = {
|
72
|
+
type: 'userMessage',
|
73
|
+
remoteUserIdentifier: my_user_identifier,
|
74
|
+
event: event_value,
|
75
|
+
message: message
|
76
|
+
}
|
77
|
+
sendMessage(user_identifier, message) do
|
78
|
+
message[:type] = 'userMessageFailed'
|
79
|
+
sendMessage(my_user_identifier, message)
|
80
|
+
end
|
99
81
|
end
|
100
|
-
|
82
|
+
when 'setMyToken'
|
83
|
+
@websockets[my_user_identifier] ||= []
|
84
|
+
@websockets[my_user_identifier].push(websocket)
|
101
85
|
message = {
|
102
|
-
type: '
|
103
|
-
|
104
|
-
remoteUserIdentifier: user_identifier
|
86
|
+
type: 'myUserIdentifier',
|
87
|
+
myUserIdentifier: my_user_identifier
|
105
88
|
}
|
89
|
+
@daemon_delegate.onWebSocketConnected(my_user_identifier)
|
106
90
|
websocket.send JSON.generate(message)
|
91
|
+
when 'sendMessage'
|
92
|
+
user_identifier = data[:value][:userIdentifier]
|
93
|
+
type = data[:value][:message][:type]
|
94
|
+
allow_types = %w/call hangUp offer answer candidate callFailed userMessage webSocketReconnected/
|
95
|
+
if @websockets.key?(user_identifier) && type.present? && allow_types.include?(type)
|
96
|
+
if type != 'call' || @daemon_delegate.onWantCall(my_user_identifier, user_identifier)
|
97
|
+
message = data[:value][:message]
|
98
|
+
message[:remoteUserIdentifier] = my_user_identifier
|
99
|
+
sendMessage(user_identifier, message)
|
100
|
+
end
|
101
|
+
else
|
102
|
+
message = {
|
103
|
+
type: 'callFailed',
|
104
|
+
reason: 0,
|
105
|
+
remoteUserIdentifier: user_identifier
|
106
|
+
}
|
107
|
+
websocket.send JSON.generate(message)
|
108
|
+
end
|
107
109
|
end
|
110
|
+
rescue => e
|
111
|
+
p e
|
108
112
|
end
|
109
113
|
end
|
110
114
|
end
|
data/lib/webrtc_rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webrtc-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koji Murata
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: em-websocket
|