@@ -3,7 +3,6 @@ use std::net::SocketAddr;
33use tokio_core:: net:: TcpStream ;
44use std:: error:: Error ;
55use common:: rpc:: new_rpc_system;
6- use capnp:: capability:: Promise ;
76use capnp_rpc:: rpc_twoparty_capnp;
87use futures:: Future ;
98use std:: cell:: Ref ;
@@ -35,24 +34,16 @@ impl Communicator {
3534 let mut request = bootstrap. register_as_client_request ( ) ;
3635 request. get ( ) . set_version ( version) ;
3736
38- let service = core. run (
39- request
40- . send ( )
41- . promise
42- . and_then ( |response| Promise :: ok ( pry ! ( response. get( ) ) . get_service ( ) ) ) ,
43- ) ??;
37+ let service = core. run ( request. send ( ) . promise ) ?. get ( ) ?. get_service ( ) ?;
4438
4539 Ok ( Self { core, service } )
4640 }
4741
4842 pub fn new_session ( & mut self ) -> Result < i32 , Box < Error > > {
49- let id: i32 = self . core . run (
50- self . service
51- . new_session_request ( )
52- . send ( )
53- . promise
54- . and_then ( |response| Promise :: ok ( pry ! ( response. get( ) ) . get_session_id ( ) ) ) ,
55- ) ?;
43+ let id: i32 = self . core
44+ . run ( self . service . new_session_request ( ) . send ( ) . promise ) ?
45+ . get ( ) ?
46+ . get_session_id ( ) ;
5647
5748 Ok ( id)
5849 }
@@ -72,32 +63,31 @@ impl Communicator {
7263 {
7364 let mut req = self . service . submit_request ( ) ;
7465
75- capnplist ! ( req. get( ) , tasks, init_tasks) ;
76- capnplist ! (
66+ to_capnp_list ! ( req. get( ) , tasks, init_tasks) ;
67+ to_capnp_list ! (
7768 req. get( ) ,
7869 data_objects
7970 . iter( )
8071 . map( |t| t. as_ref( ) )
8172 . collect:: <Vec <& DataObject >>( ) ,
8273 init_objects
8374 ) ;
84-
8575 self . core . run ( req. send ( ) . promise ) ?;
8676
8777 Ok ( ( ) )
8878 }
8979
9080 pub fn unkeep ( & mut self , objects : & [ DataObjectId ] ) -> Result < ( ) , Box < Error > > {
9181 let mut req = self . service . unkeep_request ( ) ;
92- capnplist ! ( req. get( ) , objects, init_object_ids) ;
82+ to_capnp_list ! ( req. get( ) , objects, init_object_ids) ;
9383 self . core . run ( req. send ( ) . promise ) ?;
9484 Ok ( ( ) )
9585 }
9686
9787 pub fn wait ( & mut self , tasks : & [ TaskId ] , objects : & [ DataObjectId ] ) -> Result < ( ) , Box < Error > > {
9888 let mut req = self . service . wait_request ( ) ;
99- capnplist ! ( req. get( ) , tasks, init_task_ids) ;
100- capnplist ! ( req. get( ) , objects, init_object_ids) ;
89+ to_capnp_list ! ( req. get( ) , tasks, init_task_ids) ;
90+ to_capnp_list ! ( req. get( ) , objects, init_object_ids) ;
10191 self . core . run ( req. send ( ) . promise ) ?;
10292 Ok ( ( ) )
10393 }
@@ -107,21 +97,13 @@ impl Communicator {
10797 objects : & [ DataObjectId ] ,
10898 ) -> Result < ( Vec < TaskId > , Vec < DataObjectId > ) , Box < Error > > {
10999 let mut req = self . service . wait_some_request ( ) ;
110- capnplist ! ( req. get( ) , tasks, init_task_ids) ;
111- capnplist ! ( req. get( ) , objects, init_object_ids) ;
100+ to_capnp_list ! ( req. get( ) , tasks, init_task_ids) ;
101+ to_capnp_list ! ( req. get( ) , objects, init_object_ids) ;
112102 let res = self . core . run ( req. send ( ) . promise ) ?;
113103
114104 Ok ( (
115- res. get ( ) ?
116- . get_finished_tasks ( ) ?
117- . iter ( )
118- . map ( |id| TaskId :: from_capnp ( & id) )
119- . collect ( ) ,
120- res. get ( ) ?
121- . get_finished_objects ( ) ?
122- . iter ( )
123- . map ( |id| DataObjectId :: from_capnp ( & id) )
124- . collect ( ) ,
105+ from_capnp_list ! ( res. get( ) ?, get_finished_tasks, TaskId ) ,
106+ from_capnp_list ! ( res. get( ) ?, get_finished_objects, DataObjectId ) ,
125107 ) )
126108 }
127109
0 commit comments