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
2529namespace Bloomberg {
2630namespace 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
2862template <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
3670template <class SequenceKey , class Hash , class KeyEqual , class Allocator >
3771size_t
38- SequencerConfigurationBase <SequenceKey, Hash, KeyEqual, Allocator>::getBucketCount() const
72+ SequencerConfiguration <SequenceKey, Hash, KeyEqual, Allocator>::getBucketCount() const
3973{
4074 return _bucketCount;
4175}
4276
4377template <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
5185template <class SequenceKey , class Hash , class KeyEqual , class Allocator >
5286const Hash&
53- SequencerConfigurationBase <SequenceKey, Hash, KeyEqual, Allocator>::getHash() const
87+ SequencerConfiguration <SequenceKey, Hash, KeyEqual, Allocator>::getHash() const
5488{
5589 return _hash;
5690}
5791
5892template <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
66100template <class SequenceKey , class Hash , class KeyEqual , class Allocator >
67101const KeyEqual&
68- SequencerConfigurationBase <SequenceKey, Hash, KeyEqual, Allocator>::getKeyEqual() const
102+ SequencerConfiguration <SequenceKey, Hash, KeyEqual, Allocator>::getKeyEqual() const
69103{
70104 return _keyEqual;
71105}
72106
73107template <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
81115template <class SequenceKey , class Hash , class KeyEqual , class Allocator >
82116const Allocator&
83- SequencerConfigurationBase <SequenceKey, Hash, KeyEqual, Allocator>::getAllocator() const
117+ SequencerConfiguration <SequenceKey, Hash, KeyEqual, Allocator>::getAllocator() const
84118{
85119 return _allocator;
86120}
87121
88122template <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
99133template <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+ }}}
0 commit comments