openssh_sftp_client

Struct SftpOptions

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

Options when creating super::Sftp.

Implementations§

Source§

impl SftpOptions

Source

pub const fn new() -> Self

Create a new SftpOptions.

Source

pub const fn flush_interval(self, flush_interval: Duration) -> Self

Set flush_interval, default value is 0.5 ms.

flush_interval decides the maximum time your requests would stay in the write buffer before it is actually sent to the remote.

If another thread is doing flushing, then the internal flush_task super::Sftp started would wait for another flush_interval.

Setting it to be larger might improve overall performance by grouping writes and reducing the overhead of packet sent over network, but it might also increase latency, so be careful when setting the flush_interval.

If flush_interval is set to 0, then every packet is flushed immediately.

NOTE that it is perfectly OK to set flush_interval to 0 and it would not slowdown the program, as flushing is only performed on daemon.

Source

pub const fn max_pending_requests( self, max_pending_requests: NonZeroU16, ) -> Self

Set max_pending_requests.

If the pending_requests is larger than max_pending_requests, then the flush task will flush the write buffer without waiting for flush_interval.

It is set to 100 by default.

Source

pub const fn requests_buffer_size(self, buffer_size: NonZeroUsize) -> Self

Set the init buffer size for requests. It is used to store bytes::Bytes and it will be resized to fit the pending requests.

NOTE that sftp uses double buffer for efficient flushing without blocking the writers.

It is set to 100 by default.

Source

pub const fn responses_buffer_size(self, buffer_size: NonZeroUsize) -> Self

Set the init buffer size for responses. If the header of the response is larger than the buffer, then the buffer will be resized to fit the size of the header.

It is set to 1024 by default.

Source

pub const fn tokio_compat_file_write_limit(self, limit: NonZeroUsize) -> Self

Set the write buffer limit for tokio compat file. If crate::file::TokioCompatFile has hit the write buffer limit set here, then it will flush one write buffer and continue sending (part of) the buffer to the server, which could be buffered.

It is set to 640KB (640 * 1024 bytes) by default.

Trait Implementations§

Source§

impl Clone for SftpOptions

Source§

fn clone(&self) -> SftpOptions

Returns a copy 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 Debug for SftpOptions

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for SftpOptions

Source§

fn default() -> SftpOptions

Returns the “default value” for a type. Read more
Source§

impl Copy for SftpOptions

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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> 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.
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