cloudi 2.0.5 → 2.0.6

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
  SHA256:
3
- metadata.gz: 65c359d6cff1f2cbbc2a0ab55bc56f97aab5a727ed19c04c8b0dfa7127328189
4
- data.tar.gz: 3fc6a9b19b78357ff88e10310a60332f78c2006b51fa6d83c6e9458ba91dcb18
3
+ metadata.gz: c215eeae654dce44290b1d2429d205978668b013e66f421c667b2e21966432da
4
+ data.tar.gz: e888c9c3acffc6ba370e014fe0a263932b421be0456876ae69499f99af1e1775
5
5
  SHA512:
6
- metadata.gz: 0b54d32681bd4acdb412a7de6cd54ff185700ef2ca36b882c97777542806fe4ddb9166225527e751e2bb106c6007ee3e960c22d6a39ba50125599b47b6e03bf6
7
- data.tar.gz: 4a2c223d27dba9eef5516ad15270f5c58ee7985eb40613452a33c7562ada7f1c2617417314c8346cab1fcf7f5475f1440e776556e3960bd5a1dd7c632a23d802
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-2022 Michael Truog <mjtruog at protonmail dot com>
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
- buffer_size_str = API.getenv('CLOUDI_API_INIT_BUFFER_SIZE')
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 = buffer_size_str.to_i
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
- s = getenv('CLOUDI_API_INIT_THREAD_COUNT')
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}LLLLcC")
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.5
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: 2022-10-12 00:00:00.000000000 Z
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.5
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.5
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.5
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.5
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