platform/proto/replica_info.proto (66 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ syntax = "proto3"; package resdb; import "common/proto/signature_info.proto"; import "chain/storage/proto/leveldb_config.proto"; message ReplicaInfo { int64 id = 1; optional string ip = 2; optional int32 port = 3; optional CertificateInfo certificate_info = 4; // include the private/public key, public key of admin and the certificate published by admin. } message RegionInfo { repeated ReplicaInfo replica_info = 1; int32 region_id = 2; } message ResConfigData{ repeated RegionInfo region = 1; int32 self_region_id = 2; optional storage.LevelDBInfo leveldb_info = 4; optional bool enable_viewchange = 5; optional int32 view_change_timeout_ms = 10; optional bool not_need_signature = 6; // when delivering messages, it should be signed or not. optional bool is_performance_running = 7; // if it is running a performance benchmark. optional int32 max_process_txn = 8; // max client transactions in flight. optional int32 client_batch_num=11; // batch size of transaction for each client request optional int32 worker_num =12; // batch size of transaction for each client request optional int32 input_worker_num =13; optional int32 output_worker_num =14; optional int32 tcp_batch_num = 15; optional bool require_txn_validation = 16; // for python sdk optional bool recovery_enabled = 17; // whether to enable recovery locally optional string recovery_path = 18; optional int32 recovery_buffer_size = 19; optional int32 recovery_ckpt_time_s = 20; optional bool enable_resview = 23; optional bool enable_faulty_switch = 24; // for hotstuff. optional bool use_chain_hotstuff = 9; optional int32 max_client_complaint_num = 21; optional int32 duplicate_check_frequency_useconds = 22; } message ReplicaStates { repeated ReplicaState state = 1; } message ReplicaState { int64 view = 1; ReplicaInfo replica_info = 2; ResConfigData replica_config = 3; }