Current section

Files

Jump to
ra src ra_server.hrl
Raw

src/ra_server.hrl

%% This Source Code Form is subject to the terms of the Mozilla Public
%% License, v. 2.0. If a copy of the MPL was not distributed with this
%% file, You can obtain one at https://mozilla.org/MPL/2.0/.
%%
%% Copyright (c) 2017-2025 Broadcom. All Rights Reserved. The term Broadcom refers to Broadcom Inc. and/or its subsidiaries.
%%
-define(AER_CHUNK_SIZE, 128).
-define(DEFAULT_MAX_PIPELINE_COUNT, 4096).
-define(DEFAULT_SNAPSHOT_CHUNK_SIZE, 1000000). % 1MB
-define(DEFAULT_RECEIVE_SNAPSHOT_TIMEOUT, 30000).
-define(DEFAULT_MACHINE_UPGRADE_STRATEGY, all).
-define(FLUSH_COMMANDS_SIZE, 16).
-record(cfg,
{id :: ra_server_id(),
uid :: ra_uid(),
log_id :: unicode:chardata(),
metrics_key :: term(),
metrics_labels :: seshat:labels_map(),
machine :: ra_machine:machine(),
machine_version :: ra_machine:version(),
machine_versions :: [{ra_index(), ra_machine:version()}, ...],
effective_machine_version :: ra_machine:version(),
effective_machine_module :: module(),
effective_handle_aux_fun :: undefined | {handle_aux, 5 | 6},
max_pipeline_count = ?DEFAULT_MAX_PIPELINE_COUNT :: non_neg_integer(),
max_append_entries_rpc_batch_size = ?AER_CHUNK_SIZE :: non_neg_integer(),
counter :: undefined | counters:counters_ref(),
system_config :: ra_system:config(),
%% minimum number of log entries since last snapshot/checkpoint
%% before writing a recovery checkpoint on shutdown. 0 disables (default).
min_recovery_checkpoint_interval = 0 :: non_neg_integer()
}).