fiber_space 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: abe3d0bb4dc3359f6888ed84d53c579e0bf4d1e8049e5ec140a29adb664b3b9a
4
- data.tar.gz: f5cf577cbc73510e640991e333de0d51c81a2019997a655188b4055d4f7c1bfc
3
+ metadata.gz: 5ddfae833e07213b8ff682c8f0639a2709a03c514beac6d4de8dfa20233e720e
4
+ data.tar.gz: 849a4c12e0ee774b446ba8e292a25647a2f6d23575a75e0aecbf666c11bf1e75
5
5
  SHA512:
6
- metadata.gz: f0f463ae5c6319fdfbfd7964ed2d93573d8de4e6d6b1a625ab59faea7badb9db831c87918518e1221ca94ede9fb07f4e259bcdcb42c45924a920ca544c002133
7
- data.tar.gz: 148606be51d318644a6e1c18d8121e7a9b85805cea2892b5d9ca08b1a9cdfb1ab19cbcf6048111dd6e020969d9fefc21988b30f792c9fa1de5cd1aa5d007fe2c
6
+ metadata.gz: 3f7259faef883f01c7a0617a518c562af5d1df55fe4b7d06ec2a6f53ee7698e63cbc85543508ca94155e616cab4b18c5e53ec3390b5100294168439323f78b7d
7
+ data.tar.gz: b74ace09cb4fc929f1259f02f52b5ddef6da0c85559f2d637857029adcd0465443ed7396e32c3e6be3eaafc99aaf03d95809c7bdf7b9607e9ce41ca3720fe3ea
data/lib/fiber_space.rb CHANGED
@@ -15,9 +15,10 @@ module FiberSpace
15
15
 
16
16
  autoload :FiberContainer, 'fiber_space/container'
17
17
  autoload :FiberChain, 'fiber_space/chain'
18
- autoload :ProcessWrapper, 'fiber_space/wrapper'
19
18
  end
20
19
 
20
+ include FiberSpace
21
+
21
22
  # Copyright (c) 2022, Patrick W.
22
23
  # All rights reserved.
23
24
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fiber_space
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick W.
@@ -39,7 +39,6 @@ files:
39
39
  - lib/fiber_space.rb
40
40
  - lib/fiber_space/chain.rb
41
41
  - lib/fiber_space/container.rb
42
- - lib/fiber_space/wrapper.rb
43
42
  homepage: https://git.repos.pw/Sickday/fiber_space
44
43
  licenses:
45
44
  - BSD-3-Clause
@@ -1,77 +0,0 @@
1
- module FiberSpace
2
-
3
- # A Container for fiber processes.
4
- class ProcessWrapper
5
-
6
- attr :properties
7
-
8
- attr :stack
9
-
10
- def initialize(options = {})
11
- @properties = {
12
- max_fibers: options[:max_fibers] || 0xff
13
- }.freeze
14
-
15
- setup_root_trapping
16
- setup_process
17
- end
18
-
19
- def shutdown
20
- @worker_thread.kill
21
- sleep(1) while @worker_thread.alive?
22
- end
23
-
24
- private
25
-
26
- def setup_root_trapping
27
- Signal.trap('INT') do
28
- puts 'Caught INT signal!'
29
- Process.kill('INT', @worker_process)
30
- Process.wait(@worker_process)
31
- rescue StandardError => e
32
- puts 'An error occurred during shutdown!'
33
- puts e.backtrace&.join("\n")
34
- end
35
-
36
- Signal.trap('TERM') do
37
- puts 'Caught TERM signal.'
38
- begin
39
- Process.kill('TERM', @worker_process)
40
- Process.wait(@worker_process)
41
- rescue StandardError => e
42
- puts 'An error occurred during shutdown!'
43
- puts e.backtrace&.join("\n")
44
- end
45
- end
46
- end
47
-
48
- def setup_child_trapping
49
- Signal.trap('INT') do
50
- puts 'Child caught INT!!'
51
- ensure
52
- shutdown
53
- end
54
-
55
- Signal.trap('TERM') do
56
- puts 'Child caught TERM!!'
57
- ensure
58
- shutdown
59
- end
60
- end
61
-
62
- def setup_process
63
- @worker_process = Process.spawn do
64
- setup_child_trapping
65
- setup_worker
66
- end
67
- end
68
-
69
- def setup_worker
70
- @worker_thread = Thread.new do
71
- loop do
72
-
73
- end
74
- end
75
- end
76
- end
77
- end