webrtc-rails 0.3.12 → 0.3.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|