Skip to content

Commit

Permalink
add commitment level for get_slot/blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
KirillLykov committed Mar 7, 2024
1 parent 0ba10e9 commit 318a67b
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 17 deletions.
9 changes: 7 additions & 2 deletions bench-tps/src/bench_tps_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,14 @@ pub trait BenchTpsClient {

fn get_multiple_accounts(&self, pubkeys: &[Pubkey]) -> Result<Vec<Option<Account>>>;

fn get_slot(&self) -> Result<Slot>;
fn get_slot_with_commitment(&self, commitment_config: CommitmentConfig) -> Result<Slot>;

fn get_blocks(&self, start_slot: Slot, end_slot: Option<Slot>) -> Result<Vec<Slot>>;
fn get_blocks_with_commitment(
&self,
start_slot: Slot,
end_slot: Option<Slot>,
commitment_config: CommitmentConfig,
) -> Result<Vec<Slot>>;

fn get_block_with_config(
&self,
Expand Down
11 changes: 8 additions & 3 deletions bench-tps/src/bench_tps_client/bank_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,16 @@ impl BenchTpsClient for BankClient {
unimplemented!("BankClient doesn't support get_multiple_accounts");
}

fn get_slot(&self) -> Result<Slot> {
SyncClient::get_slot(self).map_err(|err| err.into())
fn get_slot_with_commitment(&self, commitment_config: CommitmentConfig) -> Result<Slot> {
SyncClient::get_slot_with_commitment(self, commitment_config).map_err(|err| err.into())
}

fn get_blocks(&self, _start_slot: Slot, _end_slot: Option<Slot>) -> Result<Vec<Slot>> {
fn get_blocks_with_commitment(
&self,
_start_slot: Slot,
_end_slot: Option<Slot>,
_commitment_config: CommitmentConfig,
) -> Result<Vec<Slot>> {
unimplemented!("BankClient doesn't support get_blocks");
}

Expand Down
14 changes: 10 additions & 4 deletions bench-tps/src/bench_tps_client/rpc_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,18 @@ impl BenchTpsClient for RpcClient {
RpcClient::get_multiple_accounts(self, pubkeys).map_err(|err| err.into())
}

fn get_slot(&self) -> Result<Slot> {
RpcClient::get_slot(self).map_err(|err| err.into())
fn get_slot_with_commitment(&self, commitment_config: CommitmentConfig) -> Result<Slot> {
RpcClient::get_slot_with_commitment(self, commitment_config).map_err(|err| err.into())
}

fn get_blocks(&self, start_slot: Slot, end_slot: Option<Slot>) -> Result<Vec<Slot>> {
RpcClient::get_blocks(self, start_slot, end_slot).map_err(|err| err.into())
fn get_blocks_with_commitment(
&self,
start_slot: Slot,
end_slot: Option<Slot>,
commitment_config: CommitmentConfig,
) -> Result<Vec<Slot>> {
RpcClient::get_blocks_with_commitment(self, start_slot, end_slot, commitment_config)
.map_err(|err| err.into())
}

fn get_block_with_config(
Expand Down
15 changes: 11 additions & 4 deletions bench-tps/src/bench_tps_client/thin_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,20 @@ impl BenchTpsClient for ThinClient {
.map_err(|err| err.into())
}

fn get_slot(&self) -> Result<Slot> {
self.rpc_client().get_slot().map_err(|err| err.into())
fn get_slot_with_commitment(&self, commitment_config: CommitmentConfig) -> Result<Slot> {
self.rpc_client()
.get_slot_with_commitment(commitment_config)
.map_err(|err| err.into())
}

fn get_blocks(&self, start_slot: Slot, end_slot: Option<Slot>) -> Result<Vec<Slot>> {
fn get_blocks_with_commitment(
&self,
start_slot: Slot,
end_slot: Option<Slot>,
commitment_config: CommitmentConfig,
) -> Result<Vec<Slot>> {
self.rpc_client()
.get_blocks(start_slot, end_slot)
.get_blocks_with_commitment(start_slot, end_slot, commitment_config)
.map_err(|err| err.into())
}

Expand Down
15 changes: 11 additions & 4 deletions bench-tps/src/bench_tps_client/tpu_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,13 +134,20 @@ where
.map_err(|err| err.into())
}

fn get_slot(&self) -> Result<Slot> {
self.rpc_client().get_slot().map_err(|err| err.into())
fn get_slot_with_commitment(&self, commitment_config: CommitmentConfig) -> Result<Slot> {
self.rpc_client()
.get_slot_with_commitment(commitment_config)
.map_err(|err| err.into())
}

fn get_blocks(&self, start_slot: Slot, end_slot: Option<Slot>) -> Result<Vec<Slot>> {
fn get_blocks_with_commitment(
&self,
start_slot: Slot,
end_slot: Option<Slot>,
commitment_config: CommitmentConfig,
) -> Result<Vec<Slot>> {
self.rpc_client()
.get_blocks(start_slot, end_slot)
.get_blocks_with_commitment(start_slot, end_slot, commitment_config)
.map_err(|err| err.into())
}

Expand Down

0 comments on commit 318a67b

Please sign in to comment.