@@ -19,17 +19,14 @@ use criterion::Criterion;
1919use minio:: s3:: builders:: {
2020 DisableObjectLegalHold , EnableObjectLegalHold , IsObjectLegalHoldEnabled ,
2121} ;
22+ use minio:: s3:: types:: S3Api ;
2223
2324pub ( crate ) fn bench_enable_object_legal_hold ( criterion : & mut Criterion ) {
2425 benchmark_s3_api (
2526 "enable_object_legal_hold" ,
2627 criterion,
2728 || async { Ctx2 :: new_with_object ( true ) . await } ,
28- |ctx| {
29- EnableObjectLegalHold :: new ( & ctx. bucket )
30- . client ( & ctx. client )
31- . object ( ctx. object . clone ( ) )
32- } ,
29+ |ctx| EnableObjectLegalHold :: new ( & ctx. client , ctx. bucket . to_owned ( ) , ctx. object . to_owned ( ) ) ,
3330 )
3431}
3532pub ( crate ) fn bench_disable_object_legal_hold ( criterion : & mut Criterion ) {
@@ -38,21 +35,25 @@ pub(crate) fn bench_disable_object_legal_hold(criterion: &mut Criterion) {
3835 criterion,
3936 || async { Ctx2 :: new_with_object ( true ) . await } ,
4037 |ctx| {
41- DisableObjectLegalHold :: new ( & ctx. bucket )
42- . client ( & ctx. client )
43- . object ( ctx. object . clone ( ) )
38+ DisableObjectLegalHold :: new ( & ctx. client , ctx. bucket . to_owned ( ) , ctx. object . to_owned ( ) )
4439 } ,
4540 )
4641}
4742pub ( crate ) fn bench_is_object_legal_hold ( criterion : & mut Criterion ) {
4843 benchmark_s3_api (
4944 "is_object_legal_hold" ,
5045 criterion,
51- || async { Ctx2 :: new ( ) . await } ,
46+ || async {
47+ let ctx = Ctx2 :: new_with_object ( true ) . await ;
48+ ctx. client
49+ . enable_object_legal_hold ( & ctx. bucket , & ctx. object )
50+ . send ( )
51+ . await
52+ . unwrap ( ) ;
53+ ctx
54+ } ,
5255 |ctx| {
53- IsObjectLegalHoldEnabled :: new ( & ctx. bucket )
54- . client ( & ctx. client )
55- . object ( ctx. object . clone ( ) )
56+ IsObjectLegalHoldEnabled :: new ( & ctx. client , ctx. bucket . to_owned ( ) , ctx. object . to_owned ( ) )
5657 } ,
5758 )
5859}
0 commit comments