crimson 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/crimson/client.rb +4 -2
- data/lib/crimson/server.rb +8 -11
- data/lib/crimson/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45d84a7e1fa187af8681fc1ae2c552306d1c1c851ce2580f7fa742b2f00e1f47
|
4
|
+
data.tar.gz: f67119be8bf2d896a0f7fff1d9190cb2d918933861b85d3d89c7bb16f97d8c00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89d12e4a422a7831dbc165b3661a09141ede52362bc89e3b5cb3d700ac637bf24d7f2ade2ec4c6e5d465bc5e58c5c2476d6fc799d4da00ec49994a46624931e8
|
7
|
+
data.tar.gz: faa0b07ae8145d58fd07c130b3df89a8f75fee37457960a6a088f4c706a440cf08a459375d09415942f72ce822241080244929560dd838f7fe0029b2eb06c3b1
|
data/lib/crimson/client.rb
CHANGED
data/lib/crimson/server.rb
CHANGED
@@ -38,24 +38,21 @@ module Crimson
|
|
38
38
|
|
39
39
|
def call_async(env)
|
40
40
|
Async::WebSocket::Adapters::Rack.open(env, protocols: ['ws']) do |connection|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
41
|
+
id = :"client_#{Utilities.generate_id}"
|
42
|
+
client = Client.new(id, connection)
|
43
|
+
clients[connection] = client
|
44
|
+
|
45
|
+
@on_connect&.call(client)
|
46
46
|
|
47
47
|
begin
|
48
48
|
while message = connection.read
|
49
49
|
client.on_message(message)
|
50
50
|
end
|
51
51
|
rescue Protocol::WebSocket::ClosedError
|
52
|
-
|
52
|
+
ensure
|
53
|
+
@on_disconnect&.call(client)
|
54
|
+
clients.delete(connection)
|
53
55
|
end
|
54
|
-
|
55
|
-
connection.close
|
56
|
-
ensure
|
57
|
-
@on_disconnect&.call(client)
|
58
|
-
clients.delete(connection)
|
59
56
|
end
|
60
57
|
end
|
61
58
|
|
data/lib/crimson/version.rb
CHANGED