Skip to content

Commit 98d460c

Browse files
committed
SequencerLite -> experimental::Sequencer
Signed-off-by: Denis Mindolin <[email protected]>
1 parent 9e6face commit 98d460c

13 files changed

+411
-355
lines changed

quantum/quantum.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@
8080
#include <quantum/util/quantum_sequence_key_statistics.h>
8181
#include <quantum/util/quantum_sequencer.h>
8282
#include <quantum/util/quantum_sequencer_configuration.h>
83-
#include <quantum/util/quantum_sequencer_lite.h>
84-
#include <quantum/util/quantum_sequencer_lite_configuration.h>
83+
#include <quantum/util/quantum_sequencer_experimental.h>
84+
#include <quantum/util/quantum_sequencer_configuration_experimental.h>
8585
#include <quantum/util/quantum_spinlock_util.h>
8686
#include <quantum/util/quantum_util.h>
8787

quantum/util/impl/quantum_sequencer_configuration_base_impl.h renamed to quantum/util/impl/quantum_sequencer_configuration_experimental_impl.h

Lines changed: 51 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,73 +21,107 @@
2121

2222
#include <quantum/util/quantum_sequence_key_statistics.h>
2323
#include <quantum/interface/quantum_icoro_context_base.h>
24+
#include <list>
25+
#include <vector>
26+
#include <atomic>
27+
#include <memory>
2428

2529
namespace Bloomberg {
2630
namespace quantum {
31+
namespace experimental {
32+
33+
inline const std::string&
34+
SequencerConfigurationSchemaProvider::getJsonSchema()
35+
{
36+
static std::string schema = R"JSON(
37+
{
38+
"$schema" : "http://json-schema.org/draft-04/schema#",
39+
"$id" : "bloomberg:sequencer.quantum.json",
40+
"title": "Quantum sequencer settings",
41+
"type": "object",
42+
"properties": {
43+
"bucketCount": {
44+
"type": "number",
45+
"default": 100
46+
}
47+
},
48+
"additionalProperties": false,
49+
"required": []
50+
}
51+
)JSON";
52+
return schema;
53+
}
54+
55+
inline const std::string&
56+
SequencerConfigurationSchemaProvider::getJsonSchemaUri()
57+
{
58+
static std::string uri = "bloomberg:sequencer.quantum.json";
59+
return uri;
60+
}
2761

2862
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
29-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>&
30-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::setBucketCount(size_t bucketCount)
63+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
64+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setBucketCount(size_t bucketCount)
3165
{
3266
_bucketCount = bucketCount;
3367
return *this;
3468
}
3569

3670
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
3771
size_t
38-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::getBucketCount() const
72+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getBucketCount() const
3973
{
4074
return _bucketCount;
4175
}
4276

4377
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
44-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>&
45-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::setHash(const Hash& hash)
78+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
79+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setHash(const Hash& hash)
4680
{
4781
_hash = hash;
4882
return *this;
4983
}
5084

5185
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
5286
const Hash&
53-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::getHash() const
87+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getHash() const
5488
{
5589
return _hash;
5690
}
5791

5892
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
59-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>&
60-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::setKeyEqual(const KeyEqual& keyEqual)
93+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
94+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setKeyEqual(const KeyEqual& keyEqual)
6195
{
6296
_keyEqual = keyEqual;
6397
return *this;
6498
}
6599

66100
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
67101
const KeyEqual&
68-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::getKeyEqual() const
102+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getKeyEqual() const
69103
{
70104
return _keyEqual;
71105
}
72106

73107
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
74-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>&
75-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::setAllocator(const Allocator& allocator)
108+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
109+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setAllocator(const Allocator& allocator)
76110
{
77111
_allocator = allocator;
78112
return *this;
79113
}
80114

81115
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
82116
const Allocator&
83-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::getAllocator() const
117+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getAllocator() const
84118
{
85119
return _allocator;
86120
}
87121

88122
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
89-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>&
90-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::setExceptionCallback(
123+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
124+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setExceptionCallback(
91125
const ExceptionCallback&
92126
exceptionCallback)
93127

@@ -97,10 +131,10 @@ SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::setException
97131
}
98132

99133
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
100-
const typename SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::ExceptionCallback&
101-
SequencerConfigurationBase<SequenceKey, Hash, KeyEqual, Allocator>::getExceptionCallback() const
134+
const typename SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::ExceptionCallback&
135+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getExceptionCallback() const
102136
{
103137
return _exceptionCallback;
104138
}
105139

106-
}}
140+
}}}

quantum/util/impl/quantum_sequencer_configuration_impl.h

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,84 @@ SequencerConfigurationSchemaProvider::getJsonSchemaUri()
6868
return uri;
6969
}
7070

71+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
72+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
73+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setBucketCount(size_t bucketCount)
74+
{
75+
_bucketCount = bucketCount;
76+
return *this;
77+
}
78+
79+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
80+
size_t
81+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getBucketCount() const
82+
{
83+
return _bucketCount;
84+
}
85+
86+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
87+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
88+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setHash(const Hash& hash)
89+
{
90+
_hash = hash;
91+
return *this;
92+
}
93+
94+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
95+
const Hash&
96+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getHash() const
97+
{
98+
return _hash;
99+
}
100+
101+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
102+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
103+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setKeyEqual(const KeyEqual& keyEqual)
104+
{
105+
_keyEqual = keyEqual;
106+
return *this;
107+
}
108+
109+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
110+
const KeyEqual&
111+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getKeyEqual() const
112+
{
113+
return _keyEqual;
114+
}
115+
116+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
117+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
118+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setAllocator(const Allocator& allocator)
119+
{
120+
_allocator = allocator;
121+
return *this;
122+
}
123+
124+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
125+
const Allocator&
126+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getAllocator() const
127+
{
128+
return _allocator;
129+
}
130+
131+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
132+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
133+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setExceptionCallback(
134+
const ExceptionCallback&
135+
exceptionCallback)
136+
137+
{
138+
_exceptionCallback = exceptionCallback;
139+
return *this;
140+
}
141+
142+
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
143+
const typename SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::ExceptionCallback&
144+
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::getExceptionCallback() const
145+
{
146+
return _exceptionCallback;
147+
}
148+
71149
template <class SequenceKey, class Hash, class KeyEqual, class Allocator>
72150
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>&
73151
SequencerConfiguration<SequenceKey, Hash, KeyEqual, Allocator>::setControlQueueId(int controlQueueId)

0 commit comments

Comments
 (0)