libuv 2.0.12 → 3.0.0

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +67 -34
  4. data/lib/libuv.rb +30 -5
  5. data/lib/libuv/async.rb +16 -10
  6. data/lib/libuv/check.rb +19 -12
  7. data/lib/libuv/coroutines.rb +39 -12
  8. data/lib/libuv/dns.rb +25 -18
  9. data/lib/libuv/error.rb +2 -0
  10. data/lib/libuv/ext/ext.rb +28 -36
  11. data/lib/libuv/ext/platform/darwin_x64.rb +2 -0
  12. data/lib/libuv/ext/platform/unix.rb +2 -0
  13. data/lib/libuv/ext/platform/windows.rb +2 -0
  14. data/lib/libuv/ext/tasks.rb +2 -0
  15. data/lib/libuv/ext/tasks/mac.rb +2 -0
  16. data/lib/libuv/ext/tasks/unix.rb +2 -0
  17. data/lib/libuv/ext/tasks/win.rb +2 -0
  18. data/lib/libuv/ext/types.rb +2 -1
  19. data/lib/libuv/file.rb +67 -50
  20. data/lib/libuv/filesystem.rb +63 -61
  21. data/lib/libuv/fs_event.rb +7 -4
  22. data/lib/libuv/handle.rb +30 -14
  23. data/lib/libuv/idle.rb +17 -10
  24. data/lib/libuv/mixins/accessors.rb +41 -0
  25. data/lib/libuv/mixins/assertions.rb +3 -1
  26. data/lib/libuv/mixins/fs_checks.rb +29 -6
  27. data/lib/libuv/mixins/listener.rb +4 -2
  28. data/lib/libuv/mixins/net.rb +4 -2
  29. data/lib/libuv/mixins/resource.rb +5 -3
  30. data/lib/libuv/mixins/stream.rb +128 -35
  31. data/lib/libuv/pipe.rb +54 -27
  32. data/lib/libuv/prepare.rb +19 -12
  33. data/lib/libuv/q.rb +109 -101
  34. data/lib/libuv/{loop.rb → reactor.rb} +163 -85
  35. data/lib/libuv/signal.rb +13 -5
  36. data/lib/libuv/tcp.rb +109 -63
  37. data/lib/libuv/timer.rb +44 -24
  38. data/lib/libuv/tty.rb +8 -3
  39. data/lib/libuv/udp.rb +49 -22
  40. data/lib/libuv/version.rb +3 -1
  41. data/lib/libuv/work.rb +14 -10
  42. data/libuv.gemspec +11 -9
  43. data/spec/async_spec.rb +13 -13
  44. data/spec/coroutines_spec.rb +20 -50
  45. data/spec/defer_spec.rb +182 -311
  46. data/spec/dns_spec.rb +51 -41
  47. data/spec/dsl_spec.rb +43 -0
  48. data/spec/filesystem_spec.rb +65 -87
  49. data/spec/idle_spec.rb +19 -33
  50. data/spec/pipe_spec.rb +25 -32
  51. data/spec/tcp_spec.rb +116 -53
  52. data/spec/timer_spec.rb +3 -3
  53. data/spec/udp_spec.rb +16 -17
  54. data/spec/zen_spec.rb +2 -3
  55. metadata +37 -30
data/spec/zen_spec.rb CHANGED
@@ -9,7 +9,7 @@ describe Libuv::Listener do
9
9
 
10
10
  # These are created by loop objects and are never cleaned up
11
11
  # This is OK as the loops are expected to execute for the life of the application
12
- except = [::Libuv::Async, ::Libuv::Timer, ::Libuv::Prepare]
12
+ except = [::Libuv::Async, ::Libuv::Timer, ::Libuv::Prepare, ::Libuv::Signal]
13
13
 
14
14
  ObjectSpace.each_object(Class) do |cls|
15
15
  next unless cls.ancestors.include? ::Libuv::Handle
@@ -21,8 +21,7 @@ describe Libuv::Listener do
21
21
 
22
22
  if values.length > 0
23
23
  puts "\nMemory Leak in #{cls} with #{values.length} left over objects"
24
- puts "\nChecked #{checked.length} classes"
25
- puts "\n\nObjects are:"
24
+ puts "Checked #{checked.length} classes, objects are:"
26
25
  values.each do |val|
27
26
  puts "\n#{val}\n"
28
27
  end
metadata CHANGED
@@ -1,103 +1,101 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libuv
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.12
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Bulat Shakirzyanov
8
7
  - Stephen von Takach
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2018-03-13 00:00:00.000000000 Z
11
+ date: 2016-10-20 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: ffi
16
15
  requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
- - - ">="
17
+ - - "~>"
19
18
  - !ruby/object:Gem::Version
20
19
  version: '1.9'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
- - - ">="
24
+ - - "~>"
26
25
  - !ruby/object:Gem::Version
27
26
  version: '1.9'
28
27
  - !ruby/object:Gem::Dependency
29
- name: thread_safe
28
+ name: concurrent-ruby
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
- - - ">="
31
+ - - "~>"
33
32
  - !ruby/object:Gem::Version
34
- version: '0'
33
+ version: '1.0'
35
34
  type: :runtime
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
38
37
  requirements:
39
- - - ">="
38
+ - - "~>"
40
39
  - !ruby/object:Gem::Version
41
- version: '0'
40
+ version: '1.0'
42
41
  - !ruby/object:Gem::Dependency
43
42
  name: ruby-tls
44
43
  requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
- - - ">="
45
+ - - "~>"
47
46
  - !ruby/object:Gem::Version
48
- version: 2.0.0
47
+ version: '2.1'
49
48
  type: :runtime
50
49
  prerelease: false
51
50
  version_requirements: !ruby/object:Gem::Requirement
52
51
  requirements:
53
- - - ">="
52
+ - - "~>"
54
53
  - !ruby/object:Gem::Version
55
- version: 2.0.0
54
+ version: '2.1'
56
55
  - !ruby/object:Gem::Dependency
57
56
  name: rspec
58
57
  requirement: !ruby/object:Gem::Requirement
59
58
  requirements:
60
- - - ">="
59
+ - - "~>"
61
60
  - !ruby/object:Gem::Version
62
- version: '2.14'
61
+ version: '3.5'
63
62
  type: :development
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
- - - ">="
66
+ - - "~>"
68
67
  - !ruby/object:Gem::Version
69
- version: '2.14'
68
+ version: '3.5'
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: rake
72
71
  requirement: !ruby/object:Gem::Requirement
73
72
  requirements:
74
- - - ">="
73
+ - - "~>"
75
74
  - !ruby/object:Gem::Version
76
- version: '10.1'
75
+ version: '11.2'
77
76
  type: :development
78
77
  prerelease: false
79
78
  version_requirements: !ruby/object:Gem::Requirement
80
79
  requirements:
81
- - - ">="
80
+ - - "~>"
82
81
  - !ruby/object:Gem::Version
83
- version: '10.1'
82
+ version: '11.2'
84
83
  - !ruby/object:Gem::Dependency
85
84
  name: yard
86
85
  requirement: !ruby/object:Gem::Requirement
87
86
  requirements:
88
- - - ">="
87
+ - - "~>"
89
88
  - !ruby/object:Gem::Version
90
- version: '0'
89
+ version: '0.9'
91
90
  type: :development
92
91
  prerelease: false
93
92
  version_requirements: !ruby/object:Gem::Requirement
94
93
  requirements:
95
- - - ">="
94
+ - - "~>"
96
95
  - !ruby/object:Gem::Version
97
- version: '0'
96
+ version: '0.9'
98
97
  description: An opinionated wrapper around libuv for Ruby
99
98
  email:
100
- - mallluhuct@gmail.com
101
99
  - steve@cotag.me
102
100
  executables: []
103
101
  extensions:
@@ -124,6 +122,7 @@ files:
124
122
  - ext/libuv/Makefile.am
125
123
  - ext/libuv/Makefile.mingw
126
124
  - ext/libuv/README.md
125
+ - ext/libuv/SUPPORTED_PLATFORMS.md
127
126
  - ext/libuv/android-configure
128
127
  - ext/libuv/appveyor.yml
129
128
  - ext/libuv/autogen.sh
@@ -188,6 +187,7 @@ files:
188
187
  - ext/libuv/include/uv-darwin.h
189
188
  - ext/libuv/include/uv-errno.h
190
189
  - ext/libuv/include/uv-linux.h
190
+ - ext/libuv/include/uv-os390.h
191
191
  - ext/libuv/include/uv-sunos.h
192
192
  - ext/libuv/include/uv-threadpool.h
193
193
  - ext/libuv/include/uv-unix.h
@@ -240,6 +240,7 @@ files:
240
240
  - ext/libuv/src/unix/loop.c
241
241
  - ext/libuv/src/unix/netbsd.c
242
242
  - ext/libuv/src/unix/openbsd.c
243
+ - ext/libuv/src/unix/os390.c
243
244
  - ext/libuv/src/unix/pipe.c
244
245
  - ext/libuv/src/unix/poll.c
245
246
  - ext/libuv/src/unix/process.c
@@ -261,6 +262,7 @@ files:
261
262
  - ext/libuv/src/win/async.c
262
263
  - ext/libuv/src/win/atomicops-inl.h
263
264
  - ext/libuv/src/win/core.c
265
+ - ext/libuv/src/win/detect-wakeup.c
264
266
  - ext/libuv/src/win/dl.c
265
267
  - ext/libuv/src/win/error.c
266
268
  - ext/libuv/src/win/fs-event.c
@@ -400,6 +402,7 @@ files:
400
402
  - ext/libuv/test/test-socket-buffer-size.c
401
403
  - ext/libuv/test/test-spawn.c
402
404
  - ext/libuv/test/test-stdio-over-pipes.c
405
+ - ext/libuv/test/test-tcp-alloc-cb-fail.c
403
406
  - ext/libuv/test/test-tcp-bind-error.c
404
407
  - ext/libuv/test/test-tcp-bind6-error.c
405
408
  - ext/libuv/test/test-tcp-close-accept.c
@@ -431,6 +434,7 @@ files:
431
434
  - ext/libuv/test/test-timer.c
432
435
  - ext/libuv/test/test-tmpdir.c
433
436
  - ext/libuv/test/test-tty.c
437
+ - ext/libuv/test/test-udp-alloc-cb-fail.c
434
438
  - ext/libuv/test/test-udp-bind.c
435
439
  - ext/libuv/test/test-udp-create-socket-early.c
436
440
  - ext/libuv/test/test-udp-dgram-too-big.c
@@ -470,7 +474,7 @@ files:
470
474
  - lib/libuv/fs_event.rb
471
475
  - lib/libuv/handle.rb
472
476
  - lib/libuv/idle.rb
473
- - lib/libuv/loop.rb
477
+ - lib/libuv/mixins/accessors.rb
474
478
  - lib/libuv/mixins/assertions.rb
475
479
  - lib/libuv/mixins/fs_checks.rb
476
480
  - lib/libuv/mixins/listener.rb
@@ -480,6 +484,7 @@ files:
480
484
  - lib/libuv/pipe.rb
481
485
  - lib/libuv/prepare.rb
482
486
  - lib/libuv/q.rb
487
+ - lib/libuv/reactor.rb
483
488
  - lib/libuv/signal.rb
484
489
  - lib/libuv/tcp.rb
485
490
  - lib/libuv/timer.rb
@@ -493,6 +498,7 @@ files:
493
498
  - spec/cpu_spec.rb
494
499
  - spec/defer_spec.rb
495
500
  - spec/dns_spec.rb
501
+ - spec/dsl_spec.rb
496
502
  - spec/filesystem_spec.rb
497
503
  - spec/idle_spec.rb
498
504
  - spec/pipe_spec.rb
@@ -512,7 +518,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
512
518
  requirements:
513
519
  - - ">="
514
520
  - !ruby/object:Gem::Version
515
- version: 1.9.2
521
+ version: 2.0.0
516
522
  required_rubygems_version: !ruby/object:Gem::Requirement
517
523
  requirements:
518
524
  - - ">="
@@ -520,7 +526,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
520
526
  version: '0'
521
527
  requirements: []
522
528
  rubyforge_project:
523
- rubygems_version: 2.6.14
529
+ rubygems_version: 2.5.1
524
530
  signing_key:
525
531
  specification_version: 4
526
532
  summary: libuv bindings for Ruby
@@ -530,6 +536,7 @@ test_files:
530
536
  - spec/cpu_spec.rb
531
537
  - spec/defer_spec.rb
532
538
  - spec/dns_spec.rb
539
+ - spec/dsl_spec.rb
533
540
  - spec/filesystem_spec.rb
534
541
  - spec/idle_spec.rb
535
542
  - spec/pipe_spec.rb