Skip to main content

AntProtocol

Struct AntProtocol 

Source
pub struct AntProtocol { /* private fields */ }
Expand description

ANT protocol handler.

Handles chunk PUT/GET/Quote requests using LMDB storage for persistence and optional payment verification.

Implementations§

Source§

impl AntProtocol

Source

pub fn new( storage: Arc<LmdbStorage>, payment_verifier: Arc<PaymentVerifier>, quote_generator: Arc<QuoteGenerator>, ) -> Self

Create a new ANT protocol handler.

§Arguments
  • storage - LMDB storage for chunk persistence
  • payment_verifier - Payment verifier for validating payments
  • quote_generator - Quote generator for creating storage quotes
Source

pub fn protocol_id(&self) -> &'static str

Get the protocol identifier.

Source

pub async fn try_handle_request(&self, data: &[u8]) -> Result<Option<Bytes>>

Handle an incoming request and produce a response.

Decodes the raw message, processes it if it is a request variant, and returns the encoded response bytes. Returns Ok(None) for response messages (which are meant for client subscribers, not for the protocol handler).

§Errors

Returns an error if message decoding, handling, or encoding fails.

Source

pub fn storage_stats(&self) -> StorageStats

Get storage statistics.

Source

pub fn payment_cache_stats(&self) -> CacheStats

Get payment cache statistics.

Source

pub fn exists(&self, address: &[u8; 32]) -> Result<bool>

Check if a chunk exists locally.

§Errors

Returns an error if the storage read fails.

Source

pub async fn get_local(&self, address: &[u8; 32]) -> Result<Option<Vec<u8>>>

Get a chunk directly from local storage.

§Errors

Returns an error if storage access fails.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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