Class: SplitIoClient::Engine::SyncManager

Inherits:
Object
  • Object
show all
Defined in:
lib/splitclient-rb/engine/sync_manager.rb

Constant Summary collapse

SYNC_MODE_STREAMING =
0
SYNC_MODE_POLLING =
1

Instance Method Summary collapse

Constructor Details

#initialize(config, synchronizer, telemetry_runtime_producer, telemetry_synchronizer, status_manager, sse_handler, push_manager, status_queue) ⇒ SyncManager

Returns a new instance of SyncManager.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/splitclient-rb/engine/sync_manager.rb', line 9

def initialize(config,
               synchronizer,
               telemetry_runtime_producer,
               telemetry_synchronizer,
               status_manager,
               sse_handler,
               push_manager,
               status_queue)
  @config = config
  @synchronizer = synchronizer
  @telemetry_runtime_producer = telemetry_runtime_producer
  @telemetry_synchronizer = telemetry_synchronizer
  @status_manager = status_manager
  @sse_handler = sse_handler
  @push_manager = push_manager
  @status_queue = status_queue
  @sse_connected = Concurrent::AtomicBoolean.new(false)
end

Instance Method Details

#startObject



28
29
30
31
# File 'lib/splitclient-rb/engine/sync_manager.rb', line 28

def start
  start_thread
  PhusionPassenger.on_event(:starting_worker_process) { |forked| start_thread if forked } if defined?(PhusionPassenger)
end

#start_consumerObject



33
34
35
36
# File 'lib/splitclient-rb/engine/sync_manager.rb', line 33

def start_consumer
  start_consumer_thread
  PhusionPassenger.on_event(:starting_worker_process) { |forked| start_consumer_thread if forked } if defined?(PhusionPassenger)
end