pulsar-client-cpp
Loading...
Searching...
No Matches
KeySharedPolicy.h
1
19#pragma once
20
21#include <pulsar/defines.h>
22
23#include <cstdint>
24#include <memory>
25#include <utility>
26#include <vector>
27
28namespace pulsar {
29
33enum KeySharedMode : uint8_t
34{
35
40
45 STICKY = 1
46};
47
48struct KeySharedPolicyImpl;
49
50typedef std::pair<int, int> StickyRange;
51typedef std::vector<StickyRange> StickyRanges;
52
53class PULSAR_PUBLIC KeySharedPolicy {
54 public:
57
59 KeySharedPolicy& operator=(const KeySharedPolicy&);
60
66
74
79
90 KeySharedPolicy& setAllowOutOfOrderDelivery(bool allowOutOfOrderDelivery);
91
96
101 KeySharedPolicy& setStickyRanges(std::initializer_list<StickyRange> ranges);
102
106 KeySharedPolicy& setStickyRanges(const StickyRanges& ranges);
107
111 StickyRanges getStickyRanges() const;
112
113 private:
114 std::shared_ptr<KeySharedPolicyImpl> impl_;
115};
116} // namespace pulsar
Definition KeySharedPolicy.h:53
KeySharedPolicy clone() const
KeySharedMode getKeySharedMode() const
KeySharedPolicy & setAllowOutOfOrderDelivery(bool allowOutOfOrderDelivery)
KeySharedPolicy & setKeySharedMode(KeySharedMode keySharedMode)
StickyRanges getStickyRanges() const
KeySharedPolicy & setStickyRanges(const StickyRanges &ranges)
bool isAllowOutOfOrderDelivery() const
KeySharedPolicy & setStickyRanges(std::initializer_list< StickyRange > ranges)
Definition Authentication.h:31
KeySharedMode
Definition KeySharedPolicy.h:34
@ AUTO_SPLIT
Definition KeySharedPolicy.h:39
@ STICKY
Definition KeySharedPolicy.h:45