libuv 1.3.0 → 2.0.0

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
  SHA1:
3
- metadata.gz: 8b69d133fc3c1af085d7028273dd69cb700a8d4d
4
- data.tar.gz: 19271270d05dab8ad4a49eabacc269d2198c9447
3
+ metadata.gz: d2411dd2877c9256b66f5efc5d875d967f8a64cf
4
+ data.tar.gz: 0d255d823975c43add1a2a660bee42cb973fbbff
5
5
  SHA512:
6
- metadata.gz: c3f1a81309e2a576b1b1315b8bea853354b0a5d7fad86afb296c9aeda9bb5458ca88c6579d9cf73e16702f1810b58f768eb6900a29b31d0465d38b5b4d2fdde8
7
- data.tar.gz: a3366d0120f38dcbc7ef7bf91c8e95e3adbf68a28535ef32ddfff202c089e1c36cab21dc33b855c53b121af11bcb4d535fa916f22b4b7b1ca1272f09ccdda799
6
+ metadata.gz: a9afbe0baf2d31528086aa9122badfbc1fb0e13e91cb08d61a7c889ef47e18efca8959ede4d792a35869f3dca526332a97fb70828f4d7f556df0e6019a2a6bd8
7
+ data.tar.gz: 59bf41d7c9badb7b4ed3b88c6ea30cb0e2c2d7e1c5a54ef373da9019f07d5b42564e1077efbd3a20d376bd5b2506f6bf96a3df9d94c8c6f648e611bfa2dd4944
@@ -9,8 +9,8 @@ branches:
9
9
  only:
10
10
  - master
11
11
  before_install:
12
- - sudo apt-get install subversion
13
12
  - git submodule update --init --recursive
14
13
  - gem install ffi
15
14
  before_script:
16
15
  - rake compile
16
+ sudo: false
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/cotag/libuv.svg?branch=master)](https://travis-ci.org/cotag/libuv)
4
4
 
5
- [Libuv](https://github.com/joyent/libuv) is a cross platform asynchronous IO implementation that powers NodeJS. It supports sockets, both UDP and TCP, filesystem watch, TTY, Pipes and other asynchronous primitives like timer, check, prepare and idle.
5
+ [Libuv](https://github.com/libuv/libuv) is a cross platform asynchronous IO implementation that powers NodeJS. It supports sockets, both UDP and TCP, filesystem watch, TTY, Pipes and other asynchronous primitives like timer, check, prepare and idle.
6
6
 
7
7
  The Libuv gem contains Libuv and a Ruby wrapper that implements [pipelined promises](http://en.wikipedia.org/wiki/Futures_and_promises#Promise_pipelining) for asynchronous flow control and [coroutines](http://en.wikipedia.org/wiki/Coroutine) for untangling evented code
8
8
 
@@ -77,7 +77,6 @@ or
77
77
 
78
78
  ### Prerequisites
79
79
 
80
- * The installation requires [subversion](http://subversion.apache.org/packages.html) to be installed on your system and available on the PATH
81
80
  * The installation also requires [python 2.x](http://www.python.org/getit/) to be installed and available on the PATH
82
81
  * setting the environmental variable `USE_GLOBAL_LIBUV` will prevent compiling the packaged version.
83
82
  * if you have a compatible `libuv.(so | dylib | dll)` on the PATH already
data/Rakefile CHANGED
@@ -26,6 +26,6 @@ end
26
26
 
27
27
 
28
28
  desc "Compile libuv from submodule"
29
- task :compile => ["ext/libuv.#{FFI::Platform::LIBSUFFIX}"]
29
+ task :compile => ["ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}"]
30
30
 
31
- CLOBBER.include("ext/libuv.#{FFI::Platform::LIBSUFFIX}")
31
+ CLOBBER.include("ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}")
@@ -23,10 +23,27 @@ module Libuv
23
23
  begin
24
24
  # bias the library discovery to a path inside the gem first, then
25
25
  # to the usual system paths
26
- path_to_internal_libuv = File.dirname(__FILE__) + '/../../../ext'
27
- LIBUV_PATHS = [
28
- path_to_internal_libuv, '/usr/local/lib', '/opt/local/lib', '/usr/lib64'
29
- ].map{|path| "#{path}/libuv.#{FFI::Platform::LIBSUFFIX}"}
26
+
27
+ path_to_internal_libuv = ::File.dirname(__FILE__) + '/../../../ext/libuv/lib'
28
+
29
+ paths = [
30
+ path_to_internal_libuv,
31
+ '/usr/local/lib',
32
+ '/opt/local/lib',
33
+ '/usr/lib64'
34
+ ]
35
+
36
+ if FFI::Platform.mac?
37
+ # Using home/user/lib is the best we can do on OSX
38
+ # Primarily a dev platform so that is OK
39
+ paths.unshift "#{ENV['HOME']}/lib"
40
+ elsif FFI::Platform.windows?
41
+ # TODO:: AddDllDirectory function to point to path_to_internal_libuv
42
+ else # UNIX
43
+ # TODO:: ??
44
+ end
45
+
46
+ LIBUV_PATHS = paths.map{|path| "#{path}/libuv.#{FFI::Platform::LIBSUFFIX}"}
30
47
  libuv = ffi_lib(LIBUV_PATHS + %w{libuv}).first
31
48
  rescue LoadError
32
49
  warn <<-WARNING
@@ -39,6 +56,11 @@ module Libuv
39
56
  end
40
57
 
41
58
 
59
+ def self.path_to_internal_libuv
60
+ @path_to_internal_libuv ||= ::File.expand_path("../../../../ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}", __FILE__)
61
+ end
62
+
63
+
42
64
  require 'libuv/ext/types'
43
65
 
44
66
 
@@ -15,8 +15,17 @@ file "ext/libuv/build/Release/libuv.#{FFI::Platform::LIBSUFFIX}" => 'ext/libuv/u
15
15
  end
16
16
  end
17
17
 
18
- file "ext/libuv.#{FFI::Platform::LIBSUFFIX}" => "ext/libuv/build/Release/libuv.#{FFI::Platform::LIBSUFFIX}" do
19
- File.symlink("libuv/build/Release/libuv.#{FFI::Platform::LIBSUFFIX}", "ext/libuv.#{FFI::Platform::LIBSUFFIX}")
18
+ file "ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}" => "ext/libuv/build/Release/libuv.#{FFI::Platform::LIBSUFFIX}" do
19
+ FileUtils.mkdir('ext/libuv/lib') unless File.directory?('ext/libuv/lib')
20
+
21
+ user_lib = "#{ENV['HOME']}/lib"
22
+ FileUtils.mkdir(user_lib) unless File.directory?(user_lib)
23
+
24
+ # Useful for building other libraries that wish to use Libuv
25
+ FileUtils.cp("ext/libuv/build/Release/libuv.#{FFI::Platform::LIBSUFFIX}", "ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}")
26
+
27
+ # Primrary load location - falls back to above if not available
28
+ FileUtils.cp("ext/libuv/build/Release/libuv.#{FFI::Platform::LIBSUFFIX}", "#{user_lib}/libuv.#{FFI::Platform::LIBSUFFIX}")
20
29
  end
21
30
 
22
31
  CLEAN.include('ext/libuv/uv.xcodeproj')
@@ -15,8 +15,13 @@ file "ext/libuv/out/Release/lib.target/libuv.#{FFI::Platform::LIBSUFFIX}" => 'ex
15
15
  end
16
16
  end
17
17
 
18
- file "ext/libuv.#{FFI::Platform::LIBSUFFIX}" => "ext/libuv/out/Release/lib.target/libuv.#{FFI::Platform::LIBSUFFIX}" do
19
- File.symlink("libuv/out/Release/lib.target/libuv.#{FFI::Platform::LIBSUFFIX}", "ext/libuv.#{FFI::Platform::LIBSUFFIX}")
18
+ file "ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}" => "ext/libuv/out/Release/lib.target/libuv.#{FFI::Platform::LIBSUFFIX}" do
19
+ FileUtils.mkdir('ext/libuv/lib') unless File.directory?('ext/libuv/lib')
20
+ begin
21
+ FileUtils.cp("ext/libuv/out/Release/lib.target/libuv.#{FFI::Platform::LIBSUFFIX}", "ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}")
22
+ rescue => e
23
+ FileUtils.cp("ext/libuv/out/Release/lib.target/libuv.#{FFI::Platform::LIBSUFFIX}.1", "ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}")
24
+ end
20
25
  end
21
26
 
22
27
  CLEAN.include('ext/libuv/out')
@@ -8,8 +8,9 @@ file "ext/libuv/Release/libuv.#{FFI::Platform::LIBSUFFIX}" do
8
8
  end
9
9
  end
10
10
 
11
- file "ext/libuv.#{FFI::Platform::LIBSUFFIX}" => "ext/libuv/Release/libuv.#{FFI::Platform::LIBSUFFIX}" do
12
- FileUtils.mv("ext/libuv/Release/libuv.#{FFI::Platform::LIBSUFFIX}", "ext/libuv.#{FFI::Platform::LIBSUFFIX}")
11
+ file "ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}" => "ext/libuv/Release/libuv.#{FFI::Platform::LIBSUFFIX}" do
12
+ FileUtils.mkdir('ext/libuv/lib') unless File.directory?('ext/libuv/lib')
13
+ FileUtils.cp("ext/libuv/Release/libuv.#{FFI::Platform::LIBSUFFIX}", "ext/libuv/lib/libuv.#{FFI::Platform::LIBSUFFIX}")
13
14
  end
14
15
 
15
16
  CLOBBER.include("ext/libuv/Release/libuv.#{FFI::Platform::LIBSUFFIX}")
@@ -1,6 +1,6 @@
1
1
  module Libuv
2
2
  module Assertions
3
- MSG_NO_PROC = 'no block given'
3
+ MSG_NO_PROC = 'no block given'.freeze
4
4
 
5
5
  def assert_block(proc, msg = MSG_NO_PROC)
6
6
  raise ArgumentError, msg, caller unless proc.respond_to? :call
@@ -95,6 +95,7 @@ module Libuv
95
95
  end
96
96
  deferred.promise
97
97
  end
98
+ alias_method :puts, :write
98
99
 
99
100
  def readable?
100
101
  return false if @closed
@@ -22,7 +22,9 @@ module Libuv
22
22
 
23
23
  def bind(name, callback = nil, &blk)
24
24
  return if @closed
25
- @on_listen = callback || blk
25
+ @on_accept = callback || blk
26
+ @on_listen = method(:accept)
27
+
26
28
  assert_type(String, name, "name must be a String")
27
29
  name = windows_path name if FFI::Platform.windows?
28
30
 
@@ -30,34 +32,17 @@ module Libuv
30
32
  reject(error) if error
31
33
  end
32
34
 
33
- def accept(callback = nil, &blk)
34
- pipe = nil
35
- begin
36
- raise RuntimeError, CLOSED_HANDLE_ERROR if @closed
37
- pipe = Pipe.new(loop, @ipc, handle)
38
- rescue Exception => e
39
- @loop.log :info, :pipe_accept_failed, e
40
- end
41
- if pipe
42
- begin
43
- (callback || blk).call(pipe)
44
- rescue Exception => e
45
- @loop.log :error, :pipe_accept_cb, e
46
- end
47
- end
48
- nil
49
- end
50
-
51
35
  def open(fileno, callback = nil, &blk)
52
36
  @callback = callback || blk
53
- assert_type(Integer, fileno, "io#fileno must return an integer file descriptor")
37
+ assert_type(Integer, fileno, 'fileno must be an integer file descriptor'.freeze)
38
+
54
39
  begin
55
40
  raise RuntimeError, CLOSED_HANDLE_ERROR if @closed
56
41
  check_result! ::Libuv::Ext.pipe_open(handle, fileno)
57
42
 
58
43
  # Emulate on_connect behavior
59
44
  begin
60
- @callback.call(self)
45
+ @callback.call(self) if @callback
61
46
  rescue Exception => e
62
47
  @loop.log :error, :pipe_connect_cb, e
63
48
  end
@@ -121,8 +106,8 @@ module Libuv
121
106
  def check_pending(expecting = nil)
122
107
  return nil if ::Libuv::Ext.pipe_pending_count(handle) <= 0
123
108
 
124
- pending = ::Libuv::Ext.pipe_pending_type(handle)
125
- raise TypeError, "IPC expecting #{expecting} and received #{pending}" if expecting && expecting != pending
109
+ pending = ::Libuv::Ext.pipe_pending_type(handle).to_sym
110
+ raise TypeError, "IPC expecting #{expecting} and received #{pending}" if expecting && expecting.to_sym != pending
126
111
 
127
112
  # Hide the accept logic
128
113
  remote = nil
@@ -148,7 +133,24 @@ module Libuv
148
133
 
149
134
 
150
135
  private
136
+
151
137
 
138
+ def accept(_)
139
+ pipe = nil
140
+ begin
141
+ raise RuntimeError, CLOSED_HANDLE_ERROR if @closed
142
+ pipe = Pipe.new(loop, @ipc, handle)
143
+ rescue Exception => e
144
+ @loop.log :info, :pipe_accept_failed, e
145
+ end
146
+ if pipe
147
+ begin
148
+ @on_accept.call(pipe)
149
+ rescue Exception => e
150
+ @loop.log :error, :pipe_accept_cb, e
151
+ end
152
+ end
153
+ end
152
154
 
153
155
  def on_connect(req, status)
154
156
  cleanup_callbacks req.address
@@ -425,7 +425,7 @@ module Libuv
425
425
  promises.each_index do |index|
426
426
  ref(loop, promises[index]).then(proc {|result|
427
427
  if results[index].nil?
428
- results[index] = [result, false]
428
+ results[index] = [result, true]
429
429
  counter -= 1
430
430
  deferred.resolve(results) if counter <= 0
431
431
  end
@@ -152,12 +152,10 @@ module Libuv
152
152
 
153
153
  alias_method :direct_write, :write
154
154
  def write(data)
155
- if @tls.nil?
156
- direct_write(data)
157
- else
155
+ if @tls
158
156
  deferred = @loop.defer
159
157
 
160
- if @handshake == true
158
+ if @handshake
161
159
  @pending_write = deferred
162
160
  @tls.encrypt(data)
163
161
  else
@@ -165,6 +163,8 @@ module Libuv
165
163
  end
166
164
 
167
165
  deferred.promise
166
+ else
167
+ direct_write(data)
168
168
  end
169
169
  end
170
170
 
@@ -183,7 +183,9 @@ module Libuv
183
183
 
184
184
  def bind(ip, port, callback = nil, &blk)
185
185
  return if @closed
186
- @on_listen = callback || blk
186
+ @on_accept = callback || blk
187
+ @on_listen = method(:accept)
188
+
187
189
  assert_type(String, ip, IP_ARGUMENT_ERROR)
188
190
  assert_type(Integer, port, PORT_ARGUMENT_ERROR)
189
191
 
@@ -198,7 +200,8 @@ module Libuv
198
200
  def open(fd, binding = true, callback = nil, &blk)
199
201
  return if @closed
200
202
  if binding
201
- @on_listen = callback || blk
203
+ @on_listen = method(:accept)
204
+ @on_accept = callback || blk
202
205
  else
203
206
  @callback = callback || blk
204
207
  end
@@ -206,21 +209,6 @@ module Libuv
206
209
  reject(error) if error
207
210
  end
208
211
 
209
- def accept(callback = nil, &blk)
210
- begin
211
- raise RuntimeError, CLOSED_HANDLE_ERROR if @closed
212
- tcp = TCP.new(loop, handle)
213
- begin
214
- (callback || blk).call(tcp)
215
- rescue Exception => e
216
- @loop.log :error, :tcp_accept_cb, e
217
- end
218
- rescue Exception => e
219
- @loop.log :info, :tcp_accept_failed, e
220
- end
221
- nil
222
- end
223
-
224
212
  def connect(ip, port, callback = nil, &blk)
225
213
  return if @closed
226
214
  @callback = callback || blk
@@ -309,6 +297,20 @@ module Libuv
309
297
  end
310
298
  end
311
299
 
300
+ def accept(_)
301
+ begin
302
+ raise RuntimeError, CLOSED_HANDLE_ERROR if @closed
303
+ tcp = TCP.new(loop, handle)
304
+ begin
305
+ @on_accept.call(tcp)
306
+ rescue Exception => e
307
+ @loop.log :error, :tcp_accept_cb, e
308
+ end
309
+ rescue Exception => e
310
+ @loop.log :info, :tcp_accept_failed, e
311
+ end
312
+ end
313
+
312
314
 
313
315
  class SocketBase
314
316
  include Resource
@@ -1,3 +1,3 @@
1
1
  module Libuv
2
- VERSION = '1.3.0'
2
+ VERSION = '2.0.0'
3
3
  end
@@ -82,6 +82,32 @@ describe Libuv::Filesystem do
82
82
  expect(@log).to eq(:success)
83
83
  end
84
84
 
85
+ it "should return stats on the file" do
86
+ @loop.run { |logger|
87
+ logger.progress &@logger
88
+
89
+ file = @loop.file(@thefile, File::RDONLY)
90
+ file.progress do
91
+ file.stat.then do |stats|
92
+ file.close
93
+ @timeout.close
94
+ @loop.stop
95
+ @log << stats[:st_mtim][:tv_sec]
96
+ end
97
+ end
98
+ file.catch do |error|
99
+ @general_failure << error
100
+ @timeout.close
101
+ file.close
102
+ @loop.stop
103
+ end
104
+ }
105
+
106
+ expect(@general_failure).to eq([])
107
+ expect(@log[0]).to be_kind_of(Integer)
108
+ expect(@log.length).to eql(1)
109
+ end
110
+
85
111
  it "should read from a file" do
86
112
  @loop.run { |logger|
87
113
  logger.progress &@logger
@@ -137,31 +163,29 @@ describe Libuv::Filesystem do
137
163
  @server = @loop.tcp
138
164
  @client = @loop.tcp
139
165
 
140
- @server.bind('127.0.0.1', 34570) do |server|
141
- server.accept do |client|
142
- client.progress do |data|
143
- file = @loop.file('.rspec', File::RDONLY)
144
- file.progress do
145
- file.send_file(client).then(proc {
146
- file.close
147
- client.close
148
- }, proc { |error|
149
- @general_failure << error
150
- })
151
- end
152
- file.catch do |error|
153
- @general_failure << error.inspect
166
+ @server.bind('127.0.0.1', 34570) do |client|
167
+ client.progress do |data|
168
+ file = @loop.file('.rspec', File::RDONLY)
169
+ file.progress do
170
+ file.send_file(client).then(proc {
154
171
  file.close
155
172
  client.close
156
- end
173
+ }, proc { |error|
174
+ @general_failure << error
175
+ })
157
176
  end
158
- client.start_read
159
- client.finally do
160
- @timeout.close
161
- @server.close
162
- @loop.stop
177
+ file.catch do |error|
178
+ @general_failure << error.inspect
179
+ file.close
180
+ client.close
163
181
  end
164
182
  end
183
+ client.start_read
184
+ client.finally do
185
+ @timeout.close
186
+ @server.close
187
+ @loop.stop
188
+ end
165
189
  end
166
190
  # catch errors
167
191
  @server.catch do |reason|
@@ -205,31 +229,29 @@ describe Libuv::Filesystem do
205
229
  @server = @loop.tcp
206
230
  @client = @loop.tcp
207
231
 
208
- @server.bind('127.0.0.1', 34568) do |server|
209
- server.accept do |client|
210
- client.progress do |data|
211
- file = @loop.file('.rspec', File::RDONLY)
212
- file.progress do
213
- file.send_file(client, :http).then(proc {
214
- file.close
215
- client.close
216
- }, proc { |error|
217
- @general_failure << error
218
- })
219
- end
220
- file.catch do |error|
221
- @general_failure << error.inspect
232
+ @server.bind('127.0.0.1', 34568) do |client|
233
+ client.progress do |data|
234
+ file = @loop.file('.rspec', File::RDONLY)
235
+ file.progress do
236
+ file.send_file(client, :http).then(proc {
222
237
  file.close
223
238
  client.close
224
- end
239
+ }, proc { |error|
240
+ @general_failure << error
241
+ })
225
242
  end
226
- client.start_read
227
- client.finally do
228
- @timeout.close
229
- @server.close
230
- @loop.stop
243
+ file.catch do |error|
244
+ @general_failure << error.inspect
245
+ file.close
246
+ client.close
231
247
  end
232
248
  end
249
+ client.start_read
250
+ client.finally do
251
+ @timeout.close
252
+ @server.close
253
+ @loop.stop
254
+ end
233
255
  end
234
256
  # catch errors
235
257
  @server.catch do |reason|
@@ -47,14 +47,12 @@ describe Libuv::Pipe do
47
47
  end
48
48
  end
49
49
 
50
- @server.bind(@pipefile) do |connection|
51
- connection.accept do |client|
52
- client.progress do |data|
53
- @log << data
54
- client.write('pong')
55
- end
56
- client.start_read
50
+ @server.bind(@pipefile) do |client|
51
+ client.progress do |data|
52
+ @log << data
53
+ client.write('pong')
57
54
  end
55
+ client.start_read
58
56
  end
59
57
 
60
58
  # catch server errors
@@ -42,15 +42,13 @@ describe Libuv::TCP do
42
42
  end
43
43
 
44
44
 
45
- @server.bind('127.0.0.1', 34567) do |server|
46
- server.accept do |client|
47
- client.progress do |data|
48
- @log << data
45
+ @server.bind('127.0.0.1', 34567) do |client|
46
+ client.progress do |data|
47
+ @log << data
49
48
 
50
- client.write('pong')
51
- end
52
- client.start_read
49
+ client.write('pong')
53
50
  end
51
+ client.start_read
54
52
  end
55
53
 
56
54
  # catch errors
@@ -106,10 +104,8 @@ describe Libuv::TCP do
106
104
 
107
105
 
108
106
  @remote = nil
109
- @server.bind('127.0.0.1', 45678) do |server|
110
- server.accept do |client|
111
- @remote.write2(client)
112
- end
107
+ @server.bind('127.0.0.1', 45678) do |client|
108
+ @remote.write2(client)
113
109
  end
114
110
 
115
111
  # catch errors
@@ -119,25 +115,23 @@ describe Libuv::TCP do
119
115
 
120
116
 
121
117
  @pipeserve = @loop.pipe(true)
122
- @pipeserve.bind(@pipefile) do |connection|
123
- connection.accept do |client|
124
- @remote = client
125
-
126
- # start listening on TCP server
127
- @server.listen(1024)
118
+ @pipeserve.bind(@pipefile) do |client|
119
+ @remote = client
128
120
 
129
- # connect client to server
130
- @client.connect('127.0.0.1', 45678) do |client|
131
- client.progress do |data|
132
- @sync.synchronize {
133
- @log << data
134
- }
135
- @client.shutdown
136
- end
121
+ # start listening on TCP server
122
+ @server.listen(1024)
137
123
 
138
- @client.start_read
139
- @client.write('ping')
124
+ # connect client to server
125
+ @client.connect('127.0.0.1', 45678) do |client|
126
+ client.progress do |data|
127
+ @sync.synchronize {
128
+ @log << data
129
+ }
130
+ @client.shutdown
140
131
  end
132
+
133
+ @client.start_read
134
+ @client.write('ping')
141
135
  end
142
136
 
143
137
  @pipeserve.getsockname
@@ -216,16 +210,14 @@ describe Libuv::TCP do
216
210
  end
217
211
 
218
212
 
219
- @server.bind('127.0.0.1', 34567) do |server|
220
- server.accept do |client|
221
- client.start_tls(server: true)
222
- client.progress do |data|
223
- @log << data
213
+ @server.bind('127.0.0.1', 56789) do |client|
214
+ client.start_tls(server: true)
215
+ client.progress do |data|
216
+ @log << data
224
217
 
225
- client.write('pong')
226
- end
227
- client.start_read
218
+ client.write('pong')
228
219
  end
220
+ client.start_read
229
221
  end
230
222
 
231
223
  # catch errors
@@ -239,7 +231,7 @@ describe Libuv::TCP do
239
231
 
240
232
 
241
233
  # connect client to server
242
- @client.connect('127.0.0.1', 34567) do |client|
234
+ @client.connect('127.0.0.1', 56789) do |client|
243
235
  client.start_tls
244
236
  client.progress do |data|
245
237
  @log << data
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libuv
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bulat Shakirzyanov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-26 00:00:00.000000000 Z
12
+ date: 2015-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -120,10 +120,12 @@ files:
120
120
  - ext/libuv/CONTRIBUTING.md
121
121
  - ext/libuv/ChangeLog
122
122
  - ext/libuv/LICENSE
123
+ - ext/libuv/MAINTAINERS.md
123
124
  - ext/libuv/Makefile.am
124
125
  - ext/libuv/Makefile.mingw
125
126
  - ext/libuv/README.md
126
127
  - ext/libuv/android-configure
128
+ - ext/libuv/appveyor.yml
127
129
  - ext/libuv/autogen.sh
128
130
  - ext/libuv/checksparse.sh
129
131
  - ext/libuv/common.gypi
@@ -173,6 +175,7 @@ files:
173
175
  - ext/libuv/docs/src/timer.rst
174
176
  - ext/libuv/docs/src/tty.rst
175
177
  - ext/libuv/docs/src/udp.rst
178
+ - ext/libuv/docs/src/version.rst
176
179
  - ext/libuv/gyp_uv.py
177
180
  - ext/libuv/img/banner.png
178
181
  - ext/libuv/img/logos.svg
@@ -191,6 +194,7 @@ files:
191
194
  - ext/libuv/include/uv-version.h
192
195
  - ext/libuv/include/uv-win.h
193
196
  - ext/libuv/include/uv.h
197
+ - ext/libuv/libuv.nsi
194
198
  - ext/libuv/libuv.pc.in
195
199
  - ext/libuv/m4/.gitignore
196
200
  - ext/libuv/m4/as_case.m4
@@ -344,6 +348,7 @@ files:
344
348
  - ext/libuv/test/test-getnameinfo.c
345
349
  - ext/libuv/test/test-getsockname.c
346
350
  - ext/libuv/test/test-handle-fileno.c
351
+ - ext/libuv/test/test-homedir.c
347
352
  - ext/libuv/test/test-hrtime.c
348
353
  - ext/libuv/test/test-idle.c
349
354
  - ext/libuv/test/test-ip4-addr.c
@@ -365,6 +370,7 @@ files:
365
370
  - ext/libuv/test/test-pipe-bind-error.c
366
371
  - ext/libuv/test/test-pipe-close-stdout-read-stdin.c
367
372
  - ext/libuv/test/test-pipe-connect-error.c
373
+ - ext/libuv/test/test-pipe-connect-prepare.c
368
374
  - ext/libuv/test/test-pipe-getsockname.c
369
375
  - ext/libuv/test/test-pipe-sendmsg.c
370
376
  - ext/libuv/test/test-pipe-server-close.c
@@ -396,6 +402,7 @@ files:
396
402
  - ext/libuv/test/test-tcp-connect-error.c
397
403
  - ext/libuv/test/test-tcp-connect-timeout.c
398
404
  - ext/libuv/test/test-tcp-connect6-error.c
405
+ - ext/libuv/test/test-tcp-create-socket-early.c
399
406
  - ext/libuv/test/test-tcp-flags.c
400
407
  - ext/libuv/test/test-tcp-oob.c
401
408
  - ext/libuv/test/test-tcp-open.c
@@ -404,6 +411,7 @@ files:
404
411
  - ext/libuv/test/test-tcp-try-write.c
405
412
  - ext/libuv/test/test-tcp-unexpected-read.c
406
413
  - ext/libuv/test/test-tcp-write-after-connect.c
414
+ - ext/libuv/test/test-tcp-write-fail.c
407
415
  - ext/libuv/test/test-tcp-write-queue-order.c
408
416
  - ext/libuv/test/test-tcp-write-to-half-open-connection.c
409
417
  - ext/libuv/test/test-tcp-writealot.c
@@ -416,6 +424,7 @@ files:
416
424
  - ext/libuv/test/test-timer.c
417
425
  - ext/libuv/test/test-tty.c
418
426
  - ext/libuv/test/test-udp-bind.c
427
+ - ext/libuv/test/test-udp-create-socket-early.c
419
428
  - ext/libuv/test/test-udp-dgram-too-big.c
420
429
  - ext/libuv/test/test-udp-ipv6.c
421
430
  - ext/libuv/test/test-udp-multicast-interface.c