cloudi 2.0.5 → 2.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
- checksums.yaml.gz.sig +0 -0
- data/lib/cloudi.rb +38 -7
- data.tar.gz.sig +0 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c215eeae654dce44290b1d2429d205978668b013e66f421c667b2e21966432da
|
4
|
+
data.tar.gz: e888c9c3acffc6ba370e014fe0a263932b421be0456876ae69499f99af1e1775
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ccb87d7df1269f529979319aae3efea2c3b33667b1cee73f1febf46937f095fa0c222c20503d6d1c3e263bc01ee22163157547690ea06e6904e5ff5373b1e79c
|
7
|
+
data.tar.gz: 78589425efc100a8c3f558f4e74f89d737321d2e7bdcb7e952cf0e96d89f3b00650c5c51510a7fb71a3ed364e615353861a02be45c281c4540091b1c25f7f723
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/cloudi.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
# MIT License
|
6
6
|
#
|
7
|
-
# Copyright (c) 2011-
|
7
|
+
# Copyright (c) 2011-2023 Michael Truog <mjtruog at protonmail dot com>
|
8
8
|
#
|
9
9
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
10
10
|
# copy of this software and associated documentation files (the "Software"),
|
@@ -43,7 +43,7 @@ module CloudI
|
|
43
43
|
|
44
44
|
def initialize(thread_index)
|
45
45
|
protocol = API.getenv('CLOUDI_API_INIT_PROTOCOL')
|
46
|
-
|
46
|
+
buffer_size = API.getenv_to_uint('CLOUDI_API_INIT_BUFFER_SIZE')
|
47
47
|
if protocol == 'tcp'
|
48
48
|
@s = IO.for_fd(thread_index + 3, File::RDWR, autoclose: false)
|
49
49
|
@s.sync = true
|
@@ -62,7 +62,7 @@ module CloudI
|
|
62
62
|
end
|
63
63
|
@initialization_complete = false
|
64
64
|
@terminate = false
|
65
|
-
@size =
|
65
|
+
@size = buffer_size
|
66
66
|
@callbacks = Hash.new
|
67
67
|
@timeout_terminate = 10 # TIMEOUT_TERMINATE_MIN
|
68
68
|
send(Erlang.term_to_binary(:init))
|
@@ -80,8 +80,7 @@ module CloudI
|
|
80
80
|
attr_reader :priority_default
|
81
81
|
|
82
82
|
def self.thread_count
|
83
|
-
|
84
|
-
s.to_i
|
83
|
+
return API.getenv_to_uint('CLOUDI_API_INIT_THREAD_COUNT')
|
85
84
|
end
|
86
85
|
|
87
86
|
def subscribe(pattern, function)
|
@@ -246,6 +245,26 @@ module CloudI
|
|
246
245
|
return poll_request(nil, false)
|
247
246
|
end
|
248
247
|
|
248
|
+
def self.process_index_
|
249
|
+
return API.getenv_to_uint('CLOUDI_API_INIT_PROCESS_INDEX')
|
250
|
+
end
|
251
|
+
|
252
|
+
def self.process_count_max_
|
253
|
+
return API.getenv_to_uint('CLOUDI_API_INIT_PROCESS_COUNT_MAX')
|
254
|
+
end
|
255
|
+
|
256
|
+
def self.process_count_min_
|
257
|
+
return API.getenv_to_uint('CLOUDI_API_INIT_PROCESS_COUNT_MIN')
|
258
|
+
end
|
259
|
+
|
260
|
+
def self.timeout_initialize_
|
261
|
+
return API.getenv_to_uint('CLOUDI_API_INIT_TIMEOUT_INITIALIZE')
|
262
|
+
end
|
263
|
+
|
264
|
+
def self.timeout_terminate_
|
265
|
+
return API.getenv_to_uint('CLOUDI_API_INIT_TIMEOUT_TERMINATE')
|
266
|
+
end
|
267
|
+
|
249
268
|
def null_response(request_type, name, pattern, request_info, request,
|
250
269
|
timeout, priority, trans_id, source)
|
251
270
|
return ''
|
@@ -484,8 +503,8 @@ module CloudI
|
|
484
503
|
@process_count_max = tmp[2]
|
485
504
|
@process_count_min = tmp[3]
|
486
505
|
prefix_size = tmp[4]
|
487
|
-
i += j; j = prefix_size + 4 + 4 + 4 + 4 + 1 + 1
|
488
|
-
tmp = data[i, j].unpack("Z#{prefix_size}
|
506
|
+
i += j; j = prefix_size + 4 + 4 + 4 + 4 + 1 + 1 + 4
|
507
|
+
tmp = data[i, j].unpack("Z#{prefix_size}LLLLcCl")
|
489
508
|
@prefix = tmp[0]
|
490
509
|
@timeout_initialize = tmp[1]
|
491
510
|
@timeout_async = tmp[2]
|
@@ -493,6 +512,10 @@ module CloudI
|
|
493
512
|
@timeout_terminate = tmp[4]
|
494
513
|
@priority_default = tmp[5]
|
495
514
|
@fatal_exceptions = tmp[6]
|
515
|
+
bind = tmp[7]
|
516
|
+
if bind >= 0 then
|
517
|
+
raise InvalidInputException
|
518
|
+
end
|
496
519
|
i += j
|
497
520
|
if i != data_size
|
498
521
|
API.assert{external == false}
|
@@ -780,6 +803,14 @@ module CloudI
|
|
780
803
|
def self.getenv(key)
|
781
804
|
ENV[key] or raise InvalidInputException
|
782
805
|
end
|
806
|
+
|
807
|
+
def self.getenv_to_uint(name)
|
808
|
+
value = API.getenv(name).to_i
|
809
|
+
if value < 0 then
|
810
|
+
raise InvalidInputException
|
811
|
+
end
|
812
|
+
return value
|
813
|
+
end
|
783
814
|
end
|
784
815
|
|
785
816
|
class InvalidInputException < Exception
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Truog
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
CUaImqpeG21iNKLYHcNZkGfepUpp4FHudbeQeaJj8R5ug+f402l7T4s3JCAOcVIY
|
35
35
|
MqZAStuHt2H1iR+JVSpFx1kkRJncIjtSnxUFd4MsBT083aOme9H/J+tb/YA=
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date:
|
37
|
+
date: 2023-06-21 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: erlang_rb
|
@@ -45,7 +45,7 @@ dependencies:
|
|
45
45
|
version: '2.0'
|
46
46
|
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 2.0.
|
48
|
+
version: 2.0.6
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
version: '2.0'
|
56
56
|
- - ">="
|
57
57
|
- !ruby/object:Gem::Version
|
58
|
-
version: 2.0.
|
58
|
+
version: 2.0.6
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: erlang_rb
|
61
61
|
requirement: !ruby/object:Gem::Requirement
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '2.0'
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.0.
|
68
|
+
version: 2.0.6
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
71
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -75,7 +75,7 @@ dependencies:
|
|
75
75
|
version: '2.0'
|
76
76
|
- - ">="
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: 2.0.
|
78
|
+
version: 2.0.6
|
79
79
|
description: Ruby CloudI API
|
80
80
|
email: mjtruog@protonmail.com
|
81
81
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|