DapiClient

Struct DapiClient 

Source
pub struct DapiClient {
    pub ca_certificate: Option<Certificate>,
    /* private fields */
}
Expand description

Access point to DAPI.

Fields§

§ca_certificate: Option<Certificate>

Certificate Authority certificate to use for verifying the server’s certificate.

Implementations§

Source§

impl DapiClient

Source

pub fn new(address_list: AddressList, settings: RequestSettings) -> Self

Initialize new DapiClient and optionally override default settings.

Source

pub fn with_ca_certificate(self, ca_cert: Certificate) -> Self

Set CA certificate to use when verifying the server’s certificate.

§Arguments
  • pem_ca_cert - CA certificate in PEM format.
§Returns

DapiClient with CA certificate set.

Source

pub fn address_list(&self) -> &AddressList

Return the DapiClient address list.

Source

pub fn get_live_addresses(&self) -> Vec<Address>

Get all non-banned addresses from the address list.

Returns a vector of addresses that are not currently banned or whose ban period has expired. This is useful for diagnostics, monitoring, or when you need to know which DAPI nodes are currently available for making requests.

§Examples
use rs_dapi_client::{DapiClient, AddressList, RequestSettings};

let address_list = "http://127.0.0.1:3000,http://127.0.0.1:3001".parse().unwrap();
let client = DapiClient::new(address_list, RequestSettings::default());

// Get all currently available (non-banned) addresses
let live_addresses = client.get_live_addresses();
println!("Available DAPI nodes: {}", live_addresses.len());
Source§

impl DapiClient

Source

pub const DUMP_FILE_PREFIX: &'static str = "msg"

Prefix of dump files.

Source

pub fn dump_dir(self, dump_dir: Option<PathBuf>) -> Self

Define directory where dumps of all traffic will be saved.

Each request and response pair will be saved to a JSON file in dump_dir. Data is saved as DumpData structure. Any errors are logged on warn level and ignored.

Dump file name is generated by DumpData::filename().

Useful for debugging and mocking. See also MockDapiClient::load().

Trait Implementations§

Source§

impl Clone for DapiClient

Source§

fn clone(&self) -> DapiClient

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl DapiRequestExecutor for DapiClient

Source§

fn execute<'life0, 'async_trait, R>( &'life0 self, request: R, settings: RequestSettings, ) -> Pin<Box<dyn Future<Output = ExecutionResult<R::Response, DapiClientError>> + Send + 'async_trait>>
where R: TransportRequest + Mockable + 'async_trait, R::Response: Mockable, TransportError: Mockable, Self: 'async_trait, 'life0: 'async_trait,

Execute the DapiRequest.

Source§

impl Debug for DapiClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> IntoPlatformVersioned<U> for T

Source§

fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U

Performs the conversion.
§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [Layered].
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryFromVersioned<U> for T
where T: TryFrom<U>,

§

type Error = <T as TryFrom<U>>::Error

The type returned in the event of a conversion error.
§

fn try_from_versioned( value: U, _grove_version: &GroveVersion, ) -> Result<T, <T as TryFromVersioned<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, U> TryIntoPlatformVersioned<U> for T

Source§

type Error = <U as TryFromPlatformVersioned<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into_platform_versioned( self, platform_version: &PlatformVersion, ) -> Result<U, <U as TryFromPlatformVersioned<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoVersioned<U> for T
where U: TryFromVersioned<T>,

§

type Error = <U as TryFromVersioned<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into_versioned( self, grove_version: &GroveVersion, ) -> Result<U, <U as TryFromVersioned<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more