@@ -13,8 +13,8 @@ use std::sync::Arc;
1313use std:: time:: Duration ;
1414use std:: io:: Read ;
1515use std:: convert:: From ;
16+ use std:: future:: Future ;
1617use tokio:: io:: AsyncWrite ;
17- use async_trait:: async_trait;
1818
1919pub enum RecordType {
2020 BeginRequest = 1 ,
@@ -53,16 +53,14 @@ pub fn create_record(request_type: RecordType, request_id: u8, padding: u8, data
5353 record
5454}
5555
56- #[ async_trait]
5756pub trait TestCase {
5857 fn get_input ( ) -> Mock ;
5958 fn get_output ( ) -> Mock ;
60- async fn processor < W : AsyncWrite + Unpin + Send > ( request : Arc < Request < W > > ) -> RequestResult ;
59+ fn processor < W : AsyncWrite + Unpin + Send > ( request : Arc < Request < W > > ) -> impl Future < Output = RequestResult > + Send ;
6160}
6261
6362pub struct TestParamsInOut { }
6463
65- #[ async_trait]
6664impl TestCase for TestParamsInOut {
6765 fn get_input ( ) -> Mock {
6866 Builder :: new ( )
@@ -142,7 +140,6 @@ impl TestCase for TestParamsInOut {
142140
143141pub struct TestRoleAuthorizer { }
144142
145- #[ async_trait]
146143impl TestCase for TestRoleAuthorizer {
147144 fn get_input ( ) -> Mock {
148145 Builder :: new ( )
@@ -175,7 +172,6 @@ impl TestCase for TestRoleAuthorizer {
175172
176173pub struct TestRoleFilter { }
177174
178- #[ async_trait]
179175impl TestCase for TestRoleFilter {
180176 fn get_input ( ) -> Mock {
181177 Builder :: new ( )
@@ -219,7 +215,6 @@ impl TestCase for TestRoleFilter {
219215
220216pub struct TestAbortRequest { }
221217
222- #[ async_trait]
223218impl TestCase for TestAbortRequest {
224219 fn get_input ( ) -> Mock {
225220 Builder :: new ( )
@@ -243,7 +238,6 @@ impl TestCase for TestAbortRequest {
243238
244239pub struct TestAbortContinue { }
245240
246- #[ async_trait]
247241impl TestCase for TestAbortContinue {
248242 fn get_input ( ) -> Mock {
249243 Builder :: new ( )
@@ -279,7 +273,6 @@ impl TestCase for TestAbortContinue {
279273
280274pub struct TestUnknownRoleReturn { }
281275
282- #[ async_trait]
283276impl TestCase for TestUnknownRoleReturn {
284277 fn get_input ( ) -> Mock {
285278 Builder :: new ( )
@@ -306,7 +299,6 @@ impl TestCase for TestUnknownRoleReturn {
306299
307300pub struct TestUnknownRoleRequest { }
308301
309- #[ async_trait]
310302impl TestCase for TestUnknownRoleRequest {
311303 fn get_input ( ) -> Mock {
312304 Builder :: new ( )
@@ -331,7 +323,6 @@ impl TestCase for TestUnknownRoleRequest {
331323
332324pub struct TestUnknownRequestType { }
333325
334- #[ async_trait]
335326impl TestCase for TestUnknownRequestType {
336327 fn get_input ( ) -> Mock {
337328 Builder :: new ( )
@@ -355,7 +346,6 @@ impl TestCase for TestUnknownRequestType {
355346
356347pub struct TestGetValues { }
357348
358- #[ async_trait]
359349impl TestCase for TestGetValues {
360350 fn get_input ( ) -> Mock {
361351 Builder :: new ( )
@@ -380,7 +370,6 @@ impl TestCase for TestGetValues {
380370pub struct TestKeepConnection {
381371}
382372
383- #[ async_trait]
384373impl TestCase for TestKeepConnection {
385374 fn get_input ( ) -> Mock {
386375 Builder :: new ( )
@@ -423,4 +412,4 @@ impl TestCase for TestKeepConnection {
423412 request. get_stderr ( ) . write ( & [ b'X' , idx. as_bytes ( ) [ 0 ] - b'1' + b'A' ] ) . await . unwrap ( ) ;
424413 RequestResult :: Complete ( 0x11223344 * idx. parse ( ) . unwrap_or ( 0 ) )
425414 }
426- }
415+ }
0 commit comments