Skip to content

Commit 3cdae53

Browse files
committed
Provide a stop method and pass it to the wrapped store
1 parent 63e64b8 commit 3cdae53

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

lib/ldclient-rb/impl/data_store/feature_store_client_wrapper.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def initialize(store, store_update_sink, logger)
3232
@mutex = Mutex.new
3333
@last_available = true
3434
@poller = nil
35+
@closed = false
3536
end
3637

3738
# (see LaunchDarkly::Interfaces::FeatureStore#init)
@@ -64,6 +65,23 @@ def initialized?
6465
@store.initialized?
6566
end
6667

68+
# (see LaunchDarkly::Interfaces::FeatureStore#stop)
69+
def stop
70+
@store.stop
71+
72+
poller_to_stop = nil
73+
74+
@mutex.synchronize do
75+
return if @closed
76+
77+
@closed = true
78+
poller_to_stop = @poller
79+
@poller = nil
80+
end
81+
82+
poller_to_stop.stop if poller_to_stop
83+
end
84+
6785
#
6886
# Returns whether monitoring is enabled.
6987
#
@@ -99,6 +117,7 @@ def monitoring_enabled?
99117
poller_to_stop = nil
100118

101119
@mutex.synchronize do
120+
return if @closed
102121
return if available == @last_available
103122

104123
state_changed = true

0 commit comments

Comments
 (0)