@@ -21,9 +21,11 @@ use std::convert::TryFrom;
2121use std:: fs:: { File , * } ;
2222use std:: io:: Write ;
2323use std:: path:: Path ;
24+ use zenoh:: config:: Config ;
2425use zenoh_flow:: async_std:: sync:: Arc ;
2526use zenoh_flow:: runtime:: dataflow:: loader:: { Loader , LoaderConfig } ;
2627use zenoh_flow:: runtime:: RuntimeContext ;
28+ use zenoh_flow:: ZFResult ;
2729
2830#[ derive( Debug , Parser ) ]
2931#[ clap( name = "dpn" ) ]
@@ -36,6 +38,8 @@ struct Opt {
3638 loader_config : Option < String > ,
3739 #[ clap( short = 'r' , long = "runtime" ) ]
3840 runtime : String ,
41+ #[ clap( short = 'z' , long = "zenoh-config" ) ]
42+ zenoh_config : Option < String > ,
3943}
4044
4145fn _write_record_to_file (
@@ -62,7 +66,13 @@ async fn main() {
6266 None => LoaderConfig :: new ( ) ,
6367 } ;
6468
65- let session = Arc :: new ( zenoh:: open ( zenoh:: config:: Config :: default ( ) ) . await . unwrap ( ) ) ;
69+ let z_config = match opt. zenoh_config {
70+ None => zenoh:: config:: Config :: default ( ) ,
71+ Some ( z_config) => get_zenoh_config ( & z_config) . unwrap ( ) ,
72+ } ;
73+
74+ let session = Arc :: new ( zenoh:: open ( z_config) . await . unwrap ( ) ) ;
75+
6676 let hlc = async_std:: sync:: Arc :: new ( uhlc:: HLC :: default ( ) ) ;
6777 let loader = Arc :: new ( Loader :: new ( loader_config) ) ;
6878
@@ -167,3 +177,7 @@ async fn main() {
167177
168178 log:: trace!( "Bye!" ) ;
169179}
180+
181+ fn get_zenoh_config ( path : & str ) -> ZFResult < Config > {
182+ Ok ( zenoh:: config:: Config :: from_file ( path) ?)
183+ }
0 commit comments