isomorfeus-transport 2.2.1 → 2.2.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: 61b2633519cf813c85bc85e891ccbad116292cb0aeb49ed03f6cd4eba35b219e
4
- data.tar.gz: 80400343ed8826cab18f81f66a4077142efaec2e8e09fc34c6fa66aec75ef9dc
3
+ metadata.gz: 6434b38ce5be03fb545a2db27f311f06ce836417c0c2eebc9bd6ae8097b674a7
4
+ data.tar.gz: e69c76539a86c6452b6b78f69f1c960e319a500c0fca5552e2d635ed72e359b2
5
5
  SHA512:
6
- metadata.gz: 0d328883366c5790c5e3fb402b7e38aecddf6bc03190dcd5d50e215205d20b91618a1e9f373be9d477c77604b88b5f755b3c6628c6b07e86e942eda5801b67ec
7
- data.tar.gz: ba62cfb0aaa728537c0f01409a576f9f09a2c6e8a392d224c82e5cdce85c6d0c24f74e0e4575eb3aa17bf392cd133489307ea9b16104f262abb6d5a93fdd3da6
6
+ metadata.gz: dfbc2ee59155e8dd136db2b13a0c0b7efcf78fcfe8e5aca03e418985a3f86f7794523ab846e75f4ce323c79d41151494b0ae420e820f658e9983619d543f2c09
7
+ data.tar.gz: b884f387a05d4155dc1cd23930161bffc8c0f69eda8f25d943acc0a7e56787eaae1acd1c4670155048b4683fd9b56173c471695fcf443ab7f8493d6602d159d3
@@ -21,9 +21,8 @@ module Isomorfeus
21
21
 
22
22
  def self.process_response(response_hash)
23
23
  response_hash[:response][:agent_ids].keys.each do |agent_id|
24
- agent = Isomorfeus::Transport::RequestAgent.get!(agent_id)
25
- Isomorfeus::Transport.unregister_request_in_progress(agent_id)
26
- unless agent.promise.realized?
24
+ agent = Isomorfeus::Transport::RequestAgent.get(agent_id)
25
+ if agent && !agent.promise.realized?
27
26
  agent.full_response = response_hash
28
27
  agent.response = response_hash[:response][:agent_ids][agent_id]
29
28
  agent.promise.resolve(agent)
@@ -10,7 +10,7 @@ module Isomorfeus
10
10
  agents[object_id]
11
11
  end
12
12
 
13
- def get!(object_id)
13
+ def del!(object_id)
14
14
  agents.delete(object_id.to_s)
15
15
  end
16
16
  end
@@ -27,7 +27,17 @@ module Isomorfeus
27
27
  def initialize(request = nil)
28
28
  @id = object_id.to_s
29
29
  self.class.agents[@id] = self
30
+ current_agent = self
30
31
  @promise = Promise.new
32
+ @promise.then do
33
+ Isomorfeus::Transport.unregister_request_in_progress(current_agent.id)
34
+ Isomorfeus::Transport::RequestAgent.del!(current_agent.id)
35
+ end
36
+ @promise.fail do |e|
37
+ STDERR.puts "#{e}"
38
+ Isomorfeus::Transport.unregister_request_in_progress(current_agent.id)
39
+ Isomorfeus::Transport::RequestAgent.del!(current_agent.id)
40
+ end
31
41
  @request = request
32
42
  @sent = false
33
43
  end
@@ -37,6 +47,8 @@ module Isomorfeus
37
47
  self.processed = true
38
48
  Isomorfeus.raise_error(message: self.response[:error]) if self.response.key?(:error)
39
49
  self.result = block.call(self)
50
+ @promise.resolve(self) unless @promise.realized?
51
+ self.result
40
52
  end
41
53
  end
42
54
  end
@@ -9,10 +9,12 @@ module Isomorfeus
9
9
 
10
10
  def on_message(client, data)
11
11
  if Isomorfeus.development?
12
- write_lock = Isomorfeus.zeitwerk_lock.try_write_lock
13
- if write_lock
14
- Isomorfeus.zeitwerk.reload
15
- Isomorfeus.zeitwerk_lock.release_write_lock
12
+ if Isomorfeus.server_requires_reload?
13
+ write_lock = Isomorfeus.zeitwerk_lock.try_write_lock
14
+ if write_lock
15
+ Isomorfeus.zeitwerk.reload
16
+ Isomorfeus.zeitwerk_lock.release_write_lock
17
+ end
16
18
  end
17
19
  Isomorfeus.zeitwerk_lock.acquire_read_lock
18
20
  end
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Transport
3
- VERSION = '2.2.1'
3
+ VERSION = '2.2.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-20 00:00:00.000000000 Z
11
+ date: 2022-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -128,28 +128,28 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 10.6.40
131
+ version: 10.6.45
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 10.6.40
138
+ version: 10.6.45
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: isomorfeus-policy
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 2.2.1
145
+ version: 2.2.2
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 2.2.1
152
+ version: 2.2.2
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: isomorfeus-redux
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +226,14 @@ dependencies:
226
226
  requirements:
227
227
  - - '='
228
228
  - !ruby/object:Gem::Version
229
- version: 2.2.1
229
+ version: 2.2.2
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - '='
235
235
  - !ruby/object:Gem::Version
236
- version: 2.2.1
236
+ version: 2.2.2
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: rake
239
239
  requirement: !ruby/object:Gem::Requirement
@@ -334,7 +334,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
334
334
  - !ruby/object:Gem::Version
335
335
  version: '0'
336
336
  requirements: []
337
- rubygems_version: 3.3.3
337
+ rubygems_version: 3.3.7
338
338
  signing_key:
339
339
  specification_version: 4
340
340
  summary: Channels, authetication and various transport options for Isomorfeus.