daml_grpc/data/
configuration.rs1use crate::data::{DamlError, DamlResult};
2use crate::grpc_protobuf::com::daml::ledger::api::v1::LedgerConfiguration;
3use crate::util::{from_grpc_duration, Required};
4use std::convert::TryFrom;
5use std::time::Duration;
6
7#[derive(Debug, Eq, PartialEq, Clone, Default)]
9pub struct DamlLedgerConfiguration {
10 max_deduplication_time: Duration,
11}
12
13impl DamlLedgerConfiguration {
14 pub const fn new(max_deduplication_time: Duration) -> Self {
15 Self {
16 max_deduplication_time,
17 }
18 }
19
20 pub const fn max_deduplication_time(&self) -> &Duration {
21 &self.max_deduplication_time
22 }
23}
24
25impl TryFrom<LedgerConfiguration> for DamlLedgerConfiguration {
26 type Error = DamlError;
27
28 fn try_from(response: LedgerConfiguration) -> DamlResult<Self> {
29 let max_deduplication_time: prost_types::Duration = response.max_deduplication_time.req()?;
30 Ok(Self::new(from_grpc_duration(&max_deduplication_time)))
31 }
32}