Hazelcast C++ Client
Hazelcast C++ Client Library
Loading...
Searching...
No Matches
client_flake_id_generator_config.h
1/*
2 * Copyright (c) 2008-2025, Hazelcast, Inc. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#pragma once
17
18#include <stdint.h>
19#include <string>
20
21#include "hazelcast/util/export.h"
22
23#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
24#pragma warning(push)
25#pragma warning(disable : 4251) // for dll export
26#endif
27
28namespace hazelcast {
29namespace client {
30namespace config {
36class HAZELCAST_API client_flake_id_generator_config
37{
38public:
42 static constexpr int32_t DEFAULT_PREFETCH_COUNT = 100;
43
47 static constexpr int64_t DEFAULT_PREFETCH_VALIDITY_MILLIS = 600000;
48
59 static constexpr int32_t MAXIMUM_PREFETCH_COUNT = 100000;
60
61 explicit client_flake_id_generator_config(const std::string& name);
62
67 const std::string& get_name() const;
68
75 client_flake_id_generator_config& set_name(const std::string& n);
76
80 int32_t get_prefetch_count() const;
81
90 client_flake_id_generator_config& set_prefetch_count(int32_t count);
91
95 std::chrono::milliseconds get_prefetch_validity_duration() const;
96
113 client_flake_id_generator_config& set_prefetch_validity_duration(
114 std::chrono::milliseconds duration);
115
116private:
117 std::string name_;
118 int32_t prefetch_count_;
119 std::chrono::milliseconds prefetch_validity_duration_;
120};
121} // namespace config
122} // namespace client
123} // namespace hazelcast
124
125#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
126#pragma warning(pop)
127#endif
static constexpr int64_t DEFAULT_PREFETCH_VALIDITY_MILLIS
Default value for getPrefetchValidityMillis().
static constexpr int32_t DEFAULT_PREFETCH_COUNT
Default value for getPrefetchCount().
client_flake_id_generator_config & set_prefetch_count(int32_t count)
Sets how many IDs are pre-fetched on the background when one call to FlakeIdGenerator#newId() is made...
Definition config.cpp:206
static constexpr int32_t MAXIMUM_PREFETCH_COUNT
Maximum value for prefetch count.
std::chrono::milliseconds get_prefetch_validity_duration() const
Definition config.cpp:218
const std::string & get_name() const
Returns the configuration name.
Definition config.cpp:187
client_flake_id_generator_config & set_name(const std::string &n)
Sets the name or name pattern for this config.
Definition config.cpp:193
client_flake_id_generator_config & set_prefetch_validity_duration(std::chrono::milliseconds duration)
Sets for how long the pre-fetched IDs can be used.
Definition config.cpp:224