C++ Server-Side SDK
LaunchDarkly SDK
big_segment_store_status.hpp
1 #pragma once
2 
3 #include <launchdarkly/connection.hpp>
4 
5 #include <functional>
6 #include <memory>
7 #include <ostream>
8 
9 namespace launchdarkly::server_side {
10 
16  public:
17  BigSegmentStoreStatus(bool available, bool stale);
18 
23  [[nodiscard]] bool IsAvailable() const;
24 
30  [[nodiscard]] bool IsStale() const;
31 
32  private:
33  bool available_;
34  bool stale_;
35 };
36 
37 bool operator==(BigSegmentStoreStatus const& a, BigSegmentStoreStatus const& b);
38 bool operator!=(BigSegmentStoreStatus const& a, BigSegmentStoreStatus const& b);
39 
44  public:
49  [[nodiscard]] virtual BigSegmentStoreStatus Status() const = 0;
50 
58  virtual std::unique_ptr<IConnection> OnBigSegmentStoreStatusChange(
59  std::function<void(BigSegmentStoreStatus status)> handler) = 0;
60 
61  virtual ~IBigSegmentStoreStatusProvider() = default;
63  delete;
66  IBigSegmentStoreStatusProvider const&) = delete;
69 
70  protected:
72 };
73 
74 std::ostream& operator<<(std::ostream& out,
75  BigSegmentStoreStatus const& status);
76 
77 } // namespace launchdarkly::server_side
Definition: big_segment_store_status.hpp:15
bool IsStale() const
Definition: big_segment_store_status.cpp:13
bool IsAvailable() const
Definition: big_segment_store_status.cpp:9
Definition: big_segment_store_status.hpp:43
virtual std::unique_ptr< IConnection > OnBigSegmentStoreStatusChange(std::function< void(BigSegmentStoreStatus status)> handler)=0
virtual BigSegmentStoreStatus Status() const =0