fn print_topology(info: &DiscovererStreamInfo, depth: usize) {
    print_stream_info(info, depth);

    if let Some(next) = info.get_next() {
        print_topology(&next, depth + 1);
    } else if let Some(container_info) = info.downcast_ref::<DiscovererContainerInfo>() {
        for stream in container_info.get_streams() {
            print_topology(&stream, depth + 1);
        }
    }
}
/* Print information regarding a stream and its substreams, if any */
Print information regarding a stream and its substreams, if any
Print information regarding a stream and its substreams if any
fn print_topology(info: &DiscovererStreamInfo, depth: usize) {
    print_stream_info(info, depth);
    if let Some(next) = info.get_next() {
        print_topology(&next, depth + 1);
    } else if let Some(container_info) = info.downcast_ref::<DiscovererContainerInfo>() {
        for stream in container_info.get_streams() {
            print_topology(&stream, depth + 1);
        }
    }
}
fn print_topology ( info : & DiscovererStreamInfo , depth : usize ) { print_stream_info ( info , depth ) ; if let Some ( next ) = info . get_next ( ) { print_topology ( & next , depth + 1 ) ; } else if let Some ( container_info ) = info . downcast_ref :: < DiscovererContainerInfo > ( ) { for stream in container_info . get_streams ( ) { print_topology ( & stream , depth + 1 ) ; } } }
Print information regarding a stream and its substreams, if any
Print information regarding a stream and its substreams if any
info
&DiscovererStreamInfo
depth
usize
info
&DiscovererStreamInfo
depth
usize