websocket-td 0.0.5 → 0.0.6
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/CHANGELOG.md +2 -0
- data/VERSION +1 -1
- data/lib/websocket_td.rb +12 -21
- metadata +15 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 559335d8c9eb309fcd0e39cc2a36be020ca30a4c
|
4
|
+
data.tar.gz: d60da560306edf6659b1197a29ae987eaed29109
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ebb60bce20e2aeef754db2641d4933335d69b3b1c94040ce11983cbffc4f4f983c9fd32b2c05ef19260198301a90ed871f757bd80e51f6067d7f406e5fc977e
|
7
|
+
data.tar.gz: 724644597d956e91c365578abbbe81fc478096bc03d644423543e8c27c8d9f9361914417f7fd8b4ff783c1526468d785f30bb8d089c4ce366791ad327b1a84f2
|
data/CHANGELOG.md
ADDED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
data/lib/websocket_td.rb
CHANGED
@@ -107,7 +107,7 @@ module WebsocketTD
|
|
107
107
|
init_messaging
|
108
108
|
#don't stop reading until after init_message to guarantee @read_thread != nil for a successful connection
|
109
109
|
reading = false
|
110
|
-
@opened =true
|
110
|
+
@opened = true
|
111
111
|
fire_on_open
|
112
112
|
else
|
113
113
|
#do non blocking reads on headers - 1 byte at a time
|
@@ -140,30 +140,21 @@ module WebsocketTD
|
|
140
140
|
|
141
141
|
#Use one thread to perform blocking read on the socket
|
142
142
|
def init_messaging
|
143
|
-
|
144
|
-
@read_thread = Thread.new do
|
145
|
-
read_loop
|
146
|
-
end
|
147
|
-
end
|
143
|
+
@read_thread ||= Thread.new { read_loop }
|
148
144
|
end
|
149
145
|
|
150
146
|
def read_loop
|
151
147
|
frame = WebSocket::Frame::Incoming::Client.new(:version => @handshake.version)
|
152
148
|
while @active
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
frame << @socket.readpartial(@read_buffer)
|
159
|
-
if (message = frame.next) != nil
|
160
|
-
#"text", "binary", "ping", "pong" and "close" (according to websocket/base.rb)
|
161
|
-
determine_message_type(message)
|
162
|
-
end
|
163
|
-
rescue EOFError => eof
|
164
|
-
fire_on_error(eof)
|
165
|
-
fire_on_close
|
149
|
+
begin
|
150
|
+
frame << @socket.readpartial(@read_buffer)
|
151
|
+
if (message = frame.next) != nil
|
152
|
+
#"text", "binary", "ping", "pong" and "close" (according to websocket/base.rb)
|
153
|
+
determine_message_type(message)
|
166
154
|
end
|
155
|
+
rescue Exception => e
|
156
|
+
fire_on_error(e)
|
157
|
+
fire_on_close if @socket.closed?
|
167
158
|
end
|
168
159
|
end
|
169
160
|
end
|
@@ -218,8 +209,8 @@ module WebsocketTD
|
|
218
209
|
@active = false
|
219
210
|
@closed = true
|
220
211
|
@on_close.call(message) unless @on_close == nil
|
221
|
-
@socket.close
|
212
|
+
@socket.close unless @socket.closed?
|
222
213
|
end
|
223
214
|
|
224
215
|
end # class
|
225
|
-
end # module
|
216
|
+
end # module
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: websocket-td
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Courtney Robinson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: websocket
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.1.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rdoc
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>'
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>'
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: shoulda
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 2.11.3
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.11.3
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: test-unit
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 2.5.5
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 2.5.5
|
69
69
|
description: A multi-threaded WebSocket client, i.e. without event machine
|
@@ -73,7 +73,8 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
-
|
76
|
+
- .gitignore
|
77
|
+
- CHANGELOG.md
|
77
78
|
- Gemfile
|
78
79
|
- Gemfile.lock
|
79
80
|
- LICENSE
|
@@ -93,17 +94,17 @@ require_paths:
|
|
93
94
|
- lib
|
94
95
|
required_ruby_version: !ruby/object:Gem::Requirement
|
95
96
|
requirements:
|
96
|
-
- -
|
97
|
+
- - '>='
|
97
98
|
- !ruby/object:Gem::Version
|
98
99
|
version: '0'
|
99
100
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
101
|
requirements:
|
101
|
-
- -
|
102
|
+
- - '>='
|
102
103
|
- !ruby/object:Gem::Version
|
103
104
|
version: 1.3.6
|
104
105
|
requirements: []
|
105
106
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
107
|
+
rubygems_version: 2.0.14
|
107
108
|
signing_key:
|
108
109
|
specification_version: 4
|
109
110
|
summary: A client which will offer the option of using green threads or a single threaded
|