Skip to main content

AsyncConnectionConfig

Struct AsyncConnectionConfig 

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

Options for creation of async connection

Implementations§

Source§

impl AsyncConnectionConfig

Source

pub fn new() -> Self

Creates a new instance of the options with nothing set

Source

pub fn set_connection_timeout( self, connection_timeout: Option<Duration>, ) -> Self

Each connection attempt to the server will time out after connection_timeout.

Set None if you don’t want the connection attempt to time out.

Source

pub fn set_response_timeout(self, response_timeout: Option<Duration>) -> Self

The new connection will time out operations after response_timeout has passed.

Set None if you don’t want requests to time out.

Source

pub fn set_push_sender(self, sender: impl AsyncPushSender) -> Self

Sets sender sender for push values.

The sender can be a channel, or an arbitrary function that handles crate::PushInfo values. This will fail client creation if the connection isn’t configured for RESP3 communications via the crate::RedisConnectionInfo::set_protocol function.

§Examples
let (tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
let config = AsyncConnectionConfig::new().set_push_sender(tx);
let messages = Arc::new(Mutex::new(Vec::new()));
let config = AsyncConnectionConfig::new().set_push_sender(move |msg|{
    let Ok(mut messages) = messages.lock() else {
        return Err(redis::aio::SendError);
    };
    messages.push(msg);
    Ok(())
});
Source

pub fn set_dns_resolver(self, dns_resolver: impl AsyncDNSResolver) -> Self

Set the DNS resolver for the underlying TCP connection.

The parameter resolver must implement the crate::io::AsyncDNSResolver trait.

Source

pub fn set_pipeline_buffer_size(self, size: usize) -> Self

Sets the buffer size for the internal pipeline channel.

The multiplexed connection uses an internal channel to queue Redis commands before sending them to the server. This setting controls how many commands can be buffered in that channel.

When the buffer is full, callers will asynchronously wait until space becomes available. A larger buffer allows more commands to be queued during bursts of activity, reducing wait time for callers. However, this comes at the cost of increased memory usage.

The default value is 50. Consider increasing this value for high-concurrency scenarios (e.g., web servers handling many simultaneous requests) where buffer contention may increase overall latency and cause upstream timeouts.

Trait Implementations§

Source§

impl Clone for AsyncConnectionConfig

Source§

fn clone(&self) -> AsyncConnectionConfig

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 Default for AsyncConnectionConfig

Available on crate feature aio only.
Source§

fn default() -> Self

Returns the “default value” for a type. 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.

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> 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.
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.