@@ -9,33 +9,10 @@ use std::collections::VecDeque;
99use std:: sync:: Arc ;
1010use tokio:: sync:: { mpsc, oneshot, Mutex } ;
1111
12- #[ derive( Clone , Debug , PartialEq ) ]
13- pub struct ErrDetail {
14- is_valid : bool ,
15- error_msg : String ,
16- }
17-
1812#[ derive( Clone , PartialEq ) ]
1913pub enum ServerResult {
2014 ForValidate ( pb:: ValidateResponse ) ,
2115 ForProve ( pb:: ProveResponse ) ,
22- Error ( ErrDetail ) ,
23- }
24-
25- impl From < ServerResult > for pb:: ProveResponse {
26- fn from ( res : ServerResult ) -> Self {
27- match res {
28- ServerResult :: ForValidate ( resp) => Self {
29- is_valid : resp. is_valid ,
30- error_msg : resp. error_msg ,
31- time_cost_secs : 0.0 ,
32- proof : Vec :: new ( ) ,
33- inputs : Vec :: new ( ) ,
34- } ,
35- ServerResult :: ForProve ( resp) => resp,
36- _ => unreachable ! ( ) ,
37- }
38- }
3916}
4017
4118impl ServerResult {
@@ -67,19 +44,26 @@ impl ServerResult {
6744 inner. error_msg = String :: new ( ) ;
6845 Self :: ForProve ( inner)
6946 }
70- Self :: Error ( _) => unreachable ! ( ) ,
7147 }
7248 }
7349
74- pub fn any_error < T , E > ( err_ret : Result < T , E > ) -> Self
50+ pub fn any_error < T , E > ( self , err_ret : Result < T , E > ) -> Self
7551 where
7652 T : std:: fmt:: Debug ,
7753 E : std:: fmt:: Display ,
7854 {
79- Self :: Error ( ErrDetail {
80- is_valid : false ,
81- error_msg : format ! ( "{}" , err_ret. unwrap_err( ) ) ,
82- } )
55+ match self {
56+ ServerResult :: ForValidate ( mut inner) => {
57+ inner. is_valid = false ;
58+ inner. error_msg = format ! ( "{}" , err_ret. unwrap_err( ) ) ;
59+ Self :: ForValidate ( inner)
60+ }
61+ ServerResult :: ForProve ( mut inner) => {
62+ inner. is_valid = false ;
63+ inner. error_msg = format ! ( "{}" , err_ret. unwrap_err( ) ) ;
64+ Self :: ForProve ( inner)
65+ }
66+ }
8367 }
8468}
8569
0 commit comments