Struct RelayBuilder

Source
pub struct RelayBuilder(/* private fields */);
Expand description

A builder for Pkarr Relay

Implementations§

Source§

impl RelayBuilder

Source

pub fn http_port(&mut self, port: u16) -> &mut Self

Set the port for the HTTP endpoint.

Source

pub fn storage(&mut self, storage: PathBuf) -> &mut Self

Set the storage directory.

This Relay’s cache will be stored in a subdirectory (pkarr-cache) inside that storage directory

Defaults to the path to the user’s data directory

Source

pub fn cache_size(&mut self, size: usize) -> &mut Self

See pkarr::ClientBuilder::cache_size

Defaults to 1_000_000

Source

pub fn disable_rate_limiter(&mut self) -> &mut Self

Disable the rate limiter.

Useful when running in a local test network.

Source

pub fn rate_limiter_config(&mut self, config: RateLimiterConfig) -> &mut Self

Source

pub fn pkarr<F>(&mut self, f: F) -> &mut Self
where F: FnOnce(&mut ClientBuilder) -> &mut ClientBuilder,

Allows mutating the internal pkarr::ClientBuilder with a callback function.

Source

pub async unsafe fn run(self) -> Result<Relay>

Run a Pkarr relay with the provided configuration.

§Safety

This method is marked as unsafe because it uses LmdbCache, which can lead to undefined behavior if the lock file is corrupted or improperly handled.

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

Source§

fn compat(self) -> Compat<T>

Applies the Compat adapter by value. Read more
Source§

fn compat_ref(&self) -> Compat<&T>

Applies the Compat adapter by shared reference. Read more
Source§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the Compat adapter by mutable reference. 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> 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
Source§

impl<T> ErasedDestructor for T
where T: 'static,