@@ -191,8 +191,8 @@ pub(crate) mod defaults {
191191 pub ( crate ) fn load_balancing_policy ( ) -> Arc < dyn LoadBalancingPolicy > {
192192 Arc :: new ( load_balancing:: DefaultPolicy :: default ( ) )
193193 }
194- pub ( crate ) fn retry_policy ( ) -> Box < dyn RetryPolicy > {
195- Box :: new ( DefaultRetryPolicy :: new ( ) )
194+ pub ( crate ) fn retry_policy ( ) -> Arc < dyn RetryPolicy > {
195+ Arc :: new ( DefaultRetryPolicy :: new ( ) )
196196 }
197197 pub ( crate ) fn speculative_execution_policy ( ) -> Option < Arc < dyn SpeculativeExecutionPolicy > > {
198198 None
@@ -218,10 +218,11 @@ pub(crate) mod defaults {
218218/// ```
219219/// # use scylla::transport::{ExecutionProfile, retry_policy::FallthroughRetryPolicy};
220220/// # use scylla::statement::Consistency;
221+ /// # use std::sync::Arc;
221222/// # fn example() -> Result<(), Box<dyn std::error::Error>> {
222223/// let profile: ExecutionProfile = ExecutionProfile::builder()
223224/// .consistency(Consistency::Three) // as this is the number we shall count to
224- /// .retry_policy(Box ::new(FallthroughRetryPolicy::new()))
225+ /// .retry_policy(Arc ::new(FallthroughRetryPolicy::new()))
225226/// .build();
226227/// # Ok(())
227228/// # }
@@ -232,7 +233,7 @@ pub struct ExecutionProfileBuilder {
232233 consistency : Option < Consistency > ,
233234 serial_consistency : Option < Option < SerialConsistency > > ,
234235 load_balancing_policy : Option < Arc < dyn LoadBalancingPolicy > > ,
235- retry_policy : Option < Box < dyn RetryPolicy > > ,
236+ retry_policy : Option < Arc < dyn RetryPolicy > > ,
236237 speculative_execution_policy : Option < Option < Arc < dyn SpeculativeExecutionPolicy > > > ,
237238}
238239
@@ -302,14 +303,15 @@ impl ExecutionProfileBuilder {
302303 /// ```
303304 /// use scylla::transport::retry_policy::DefaultRetryPolicy;
304305 /// # use scylla::transport::ExecutionProfile;
306+ /// # use std::sync::Arc;
305307 /// # fn example() -> Result<(), Box<dyn std::error::Error>> {
306308 /// let profile: ExecutionProfile = ExecutionProfile::builder()
307- /// .retry_policy(Box ::new(DefaultRetryPolicy::new()))
309+ /// .retry_policy(Arc ::new(DefaultRetryPolicy::new()))
308310 /// .build();
309311 /// # Ok(())
310312 /// # }
311313 /// ```
312- pub fn retry_policy ( mut self , retry_policy : Box < dyn RetryPolicy > ) -> Self {
314+ pub fn retry_policy ( mut self , retry_policy : Arc < dyn RetryPolicy > ) -> Self {
313315 self . retry_policy = Some ( retry_policy) ;
314316 self
315317 }
@@ -352,9 +354,10 @@ impl ExecutionProfileBuilder {
352354 /// ```
353355 /// use scylla::transport::retry_policy::DefaultRetryPolicy;
354356 /// # use scylla::transport::ExecutionProfile;
357+ /// # use std::sync::Arc;
355358 /// # fn example() -> Result<(), Box<dyn std::error::Error>> {
356359 /// let profile: ExecutionProfile = ExecutionProfile::builder()
357- /// .retry_policy(Box ::new(DefaultRetryPolicy::new()))
360+ /// .retry_policy(Arc ::new(DefaultRetryPolicy::new()))
358361 /// .build();
359362 /// # Ok(())
360363 /// # }
@@ -402,7 +405,7 @@ pub(crate) struct ExecutionProfileInner {
402405 pub ( crate ) serial_consistency : Option < SerialConsistency > ,
403406
404407 pub ( crate ) load_balancing_policy : Arc < dyn LoadBalancingPolicy > ,
405- pub ( crate ) retry_policy : Box < dyn RetryPolicy > ,
408+ pub ( crate ) retry_policy : Arc < dyn RetryPolicy > ,
406409 pub ( crate ) speculative_execution_policy : Option < Arc < dyn SpeculativeExecutionPolicy > > ,
407410}
408411
0 commit comments