pub struct ExecutionProfileBuilder { /* private fields */ }
Expand description
ExecutionProfileBuilder
is used to create new ExecutionProfile
s
§Example
let profile: ExecutionProfile = ExecutionProfile::builder()
.consistency(Consistency::Three) // as this is the number we shall count to
.retry_policy(Arc::new(FallthroughRetryPolicy::new()))
.build();
Implementations§
source§impl ExecutionProfileBuilder
impl ExecutionProfileBuilder
sourcepub fn request_timeout(self, timeout: Option<Duration>) -> Self
pub fn request_timeout(self, timeout: Option<Duration>) -> Self
Changes client-side timeout. The default is 30 seconds.
§Example
let profile: ExecutionProfile = ExecutionProfile::builder()
.request_timeout(Some(Duration::from_secs(5)))
.build();
sourcepub fn consistency(self, consistency: Consistency) -> Self
pub fn consistency(self, consistency: Consistency) -> Self
Specify a default consistency to be used for queries. It’s possible to override it by explicitly setting a consistency on the chosen query.
sourcepub fn serial_consistency(
self,
serial_consistency: Option<SerialConsistency>,
) -> Self
pub fn serial_consistency( self, serial_consistency: Option<SerialConsistency>, ) -> Self
Specify a default serial consistency to be used for queries. It’s possible to override it by explicitly setting a serial consistency on the chosen query.
sourcepub fn load_balancing_policy(
self,
load_balancing_policy: Arc<dyn LoadBalancingPolicy>,
) -> Self
pub fn load_balancing_policy( self, load_balancing_policy: Arc<dyn LoadBalancingPolicy>, ) -> Self
Sets the load balancing policy. The default is DefaultPolicy.
§Example
let profile: ExecutionProfile = ExecutionProfile::builder()
.load_balancing_policy(Arc::new(DefaultPolicy::default()))
.build();
sourcepub fn retry_policy(self, retry_policy: Arc<dyn RetryPolicy>) -> Self
pub fn retry_policy(self, retry_policy: Arc<dyn RetryPolicy>) -> Self
Sets the RetryPolicy
to use by default on queries.
The default is DefaultRetryPolicy.
It is possible to implement a custom retry policy by implementing the trait RetryPolicy
.
§Example
use scylla::transport::retry_policy::DefaultRetryPolicy;
let profile: ExecutionProfile = ExecutionProfile::builder()
.retry_policy(Arc::new(DefaultRetryPolicy::new()))
.build();
sourcepub fn speculative_execution_policy(
self,
speculative_execution_policy: Option<Arc<dyn SpeculativeExecutionPolicy>>,
) -> Self
pub fn speculative_execution_policy( self, speculative_execution_policy: Option<Arc<dyn SpeculativeExecutionPolicy>>, ) -> Self
Sets the speculative execution policy. The default is None.
§Example
use std::{sync::Arc, time::Duration};
use scylla::{
transport::ExecutionProfile,
transport::speculative_execution::SimpleSpeculativeExecutionPolicy,
};
let policy = SimpleSpeculativeExecutionPolicy {
max_retry_count: 3,
retry_interval: Duration::from_millis(100),
};
let profile: ExecutionProfile = ExecutionProfile::builder()
.speculative_execution_policy(Some(Arc::new(policy)))
.build();
sourcepub fn build(self) -> ExecutionProfile
pub fn build(self) -> ExecutionProfile
Builds the ExecutionProfile after setting all the options.
§Example
use scylla::transport::retry_policy::DefaultRetryPolicy;
let profile: ExecutionProfile = ExecutionProfile::builder()
.retry_policy(Arc::new(DefaultRetryPolicy::new()))
.build();
Trait Implementations§
source§impl Clone for ExecutionProfileBuilder
impl Clone for ExecutionProfileBuilder
source§fn clone(&self) -> ExecutionProfileBuilder
fn clone(&self) -> ExecutionProfileBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExecutionProfileBuilder
impl Debug for ExecutionProfileBuilder
Auto Trait Implementations§
impl Freeze for ExecutionProfileBuilder
impl !RefUnwindSafe for ExecutionProfileBuilder
impl Send for ExecutionProfileBuilder
impl Sync for ExecutionProfileBuilder
impl Unpin for ExecutionProfileBuilder
impl !UnwindSafe for ExecutionProfileBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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