splitclient-rb 7.3.3.pre.rc13 → 7.3.3.pre.rc17

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: ea33a02d9d4529927792f590796263d2eb2985ef367183acdb3a8be92e92b518
4
- data.tar.gz: d7fca9070abddd5347600d4be81411d253efcbfb3c42a3dd5a929c718aae6b08
3
+ metadata.gz: 638672443637a7f43970b385b8fc9928f5b9602944630a317a4a1ec65bb52470
4
+ data.tar.gz: af767b60c113f97252b60bc8428901c4e7ee4298cace157876b3c2191bc63b51
5
5
  SHA512:
6
- metadata.gz: b565bb319c60aa4c6589d9480940fedf7ee46e44bf2f43062d4f887059d21be2330802e91a18d0acb094d8b9c8721f704318f1e934ed537c2d7cecbb326f1244
7
- data.tar.gz: 28f349e55ab2067ba016115a5ee09f730b7c470c99fca4ec84ce00ad45ecb0caadbab8641ab504f05a8926040fc8e050c3a6b14df765cc77ace3f2de347b7314
6
+ metadata.gz: 25dab7c0f667e3d6d0835a6ec3c74ec1115ca814001fab79884833f52dffebae6346423963569f47ddb48b8fe6bdf3a9d31709581c187ffd02e6232fa8e2c9d1
7
+ data.tar.gz: 6addb15d21689b61bed8736ffc6b84226d84c9655e8aa53712579882fed1af005dbdc1aa2c0e3e8f3775d8d2e712bce4e042a0229f1f626c17b40a7cc192b403
@@ -18,7 +18,7 @@ module SplitIoClient
18
18
  @config.logger.debug("Auth service response push_enabled: #{response[:push_enabled]}") if @config.debug_enabled
19
19
 
20
20
  if response[:push_enabled] && @sse_handler.start(response[:token], response[:channels])
21
- schedule_next_token_refresh(150)
21
+ schedule_next_token_refresh(response[:exp])
22
22
  @back_off.reset
23
23
  record_telemetry(response[:exp])
24
24
 
@@ -35,12 +35,7 @@ module SplitIoClient
35
35
 
36
36
  def stop_sse
37
37
  @config.logger.error('## STOP SSE')
38
- @sse_handler.process_disconnect if @sse_handler.sse_client.nil?
39
38
  @sse_handler.stop
40
- stop_next_token_refresh
41
- end
42
-
43
- def stop_next_token_refresh
44
39
  SplitIoClient::Helpers::ThreadHelper.stop(:schedule_next_token_refresh, @config)
45
40
  end
46
41
 
@@ -118,8 +118,8 @@ module SplitIoClient
118
118
 
119
119
  @sse_connected.make_true
120
120
  @synchronizer.stop_periodic_fetch
121
- @sse_handler.start_workers
122
121
  @synchronizer.sync_all
122
+ @sse_handler.start_workers
123
123
  record_telemetry(Telemetry::Domain::Constants::SYNC_MODE, SYNC_MODE_STREAMING)
124
124
  rescue StandardError => e
125
125
  @config.logger.error("process_connected error: #{e.inspect}")
@@ -132,8 +132,8 @@ module SplitIoClient
132
132
  end
133
133
 
134
134
  @sse_connected.make_false
135
- @synchronizer.start_periodic_fetch
136
135
  @sse_handler.stop_workers
136
+ @synchronizer.start_periodic_fetch
137
137
  record_telemetry(Telemetry::Domain::Constants::SYNC_MODE, SYNC_MODE_POLLING)
138
138
 
139
139
  if reconnect
@@ -7,10 +7,12 @@ module SplitIoClient
7
7
  thread = config.threads[thread_sym]
8
8
 
9
9
  unless thread.nil?
10
- Thread.kill thread
11
- config.logger.debug("#{thread_sym} killed.") if config.debug_enabled
10
+ config.logger.debug("Stopping #{thread_sym} thread...") if config.debug_enabled
11
+ # sleep(0.1) while thread.status == 'run'
12
+ Thread.kill(thread)
12
13
  end
13
14
  rescue StandardError => e
15
+ puts e.inspect
14
16
  config.logger.error(e.inspect)
15
17
  end
16
18
 
@@ -35,7 +35,7 @@ module SplitIoClient
35
35
  @on[:action] = action
36
36
  end
37
37
 
38
- def close
38
+ def close(action = nil)
39
39
  unless connected?
40
40
  @config.logger.error('SSEClient already disconected.') if @config.debug_enabled
41
41
  return
@@ -44,6 +44,7 @@ module SplitIoClient
44
44
  @connected.make_false
45
45
  @socket&.close
46
46
  @config.logger.error('## CLOSE SSE')
47
+ dispatch_action(action) unless action.nil?
47
48
  rescue StandardError => e
48
49
  @config.logger.error("SSEClient close Error: #{e.inspect}")
49
50
  end
@@ -77,8 +78,8 @@ module SplitIoClient
77
78
  @config.threads[:connect_stream] = Thread.new do
78
79
  @config.logger.error('## CONNECT THREAD')
79
80
  @config.logger.info('Starting connect_stream thread ...') if @config.debug_enabled
80
- closed_with_exception = connect_stream(latch)
81
- dispatch_action(closed_with_exception) unless closed_with_exception.nil?
81
+ action = connect_stream(latch)
82
+ dispatch_action(action) unless action.nil?
82
83
  @config.logger.info('connect_stream thread finished.') if @config.debug_enabled
83
84
  @config.logger.error('#### DISCONNECTED')
84
85
  end
@@ -31,7 +31,7 @@ module SplitIoClient
31
31
  end
32
32
 
33
33
  def stop
34
- @sse_client.close
34
+ @sse_client.close(Constants::PUSH_NONRETRYABLE_ERROR)
35
35
  stop_workers
36
36
  rescue StandardError => e
37
37
  @config.logger.debug("SSEHandler stop error: #{e.inspect}") if @config.debug_enabled
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '7.3.3.pre.rc13'
2
+ VERSION = '7.3.3.pre.rc17'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splitclient-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.3.3.pre.rc13
4
+ version: 7.3.3.pre.rc17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-24 00:00:00.000000000 Z
11
+ date: 2022-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: allocation_stats