pulsar-client-cpp
Loading...
Searching...
No Matches
KeySharedPolicy.h
1
19#pragma once
20
21#include <pulsar/defines.h>
22
23#include <memory>
24
25#include <utility>
26#include <vector>
27
28namespace pulsar {
29
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
100 KeySharedPolicy& setStickyRanges(std::initializer_list<StickyRange> ranges);
101
105 StickyRanges getStickyRanges() const;
106
107 private:
108 std::shared_ptr<KeySharedPolicyImpl> impl_;
109};
110} // namespace pulsar
Definition: KeySharedPolicy.h:53
KeySharedPolicy clone() const
KeySharedMode getKeySharedMode() const
KeySharedPolicy & setAllowOutOfOrderDelivery(bool allowOutOfOrderDelivery)
KeySharedPolicy & setKeySharedMode(KeySharedMode keySharedMode)
StickyRanges getStickyRanges() const
bool isAllowOutOfOrderDelivery() const
KeySharedPolicy & setStickyRanges(std::initializer_list< StickyRange > ranges)
Definition: Authentication.h:30
KeySharedMode
Definition: KeySharedPolicy.h:34
@ AUTO_SPLIT
Definition: KeySharedPolicy.h:39
@ STICKY
Definition: KeySharedPolicy.h:45