File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed
Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ use tokio::net::UnixListener;
1818use tokio:: sync:: { mpsc, oneshot} ;
1919#[ cfg( unix) ]
2020use tokio_stream:: wrappers:: UnixListenerStream ;
21+ use tonic:: transport:: server:: Router ;
2122use tracing_core:: {
2223 span:: { self , Id } ,
2324 subscriber:: { self , Subscriber } ,
@@ -988,6 +989,19 @@ impl Server {
988989 aggregate. abort ( ) ;
989990 res?. map_err ( Into :: into)
990991 }
992+
993+ /// Starts the aggregator and set-up the [`tonic`] gRPC transport server `builder`.
994+ ///
995+ /// [`tonic`]: https://docs.rs/tonic/
996+ pub fn bind ( mut self , mut builder : tonic:: transport:: Server ) -> Router {
997+ let aggregate = self
998+ . aggregator
999+ . take ( )
1000+ . expect ( "cannot start server multiple times" ) ;
1001+ let _ = spawn_named ( aggregate. run ( ) , "console::aggregate" ) ;
1002+ let srv = proto:: instrument:: instrument_server:: InstrumentServer :: new ( self ) ;
1003+ builder. add_service ( srv)
1004+ }
9911005}
9921006
9931007#[ tonic:: async_trait]
You can’t perform that action at this time.
0 commit comments