1digraph { 2 browser [label = "Browser"] 3 cli [label = "User CLI"] 4 cvd_import_locations [URL = "https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/cvd_import_locations/"] 5 cvd_update_location [URL = "https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/cvd_update_location/"] 6 gnss_grpc_proxy [label = < <B>gnss_grpc_proxy</B> >] 7 gnss_grpc_server [label = "TCP gRPC", shape = "rectangle"] 8 run_cvd [URL = "https://cs.android.com/android/platform/superproject/+/master:device/google/cuttlefish/host/commands/run_cvd/"] 9 vmm [label = "crosvm / qemu"] 10 webrtc 11 subgraph fifos { 12 rank = same; 13 host_gnss_console_in [color = "green", label = "internal/gnsshvc_fifo_vm.in", shape = "rectangle"] 14 host_gnss_console_out [color = "green", label = "internal/gnsshvc_fifo_vm.out", shape = "rectangle"] 15 host_fixed_location_console_in [color = "blue", label = "internal/locationhvc_fifo_vm.in", shape = "rectangle"] 16 host_fixed_location_console_out [color = "blue", label = "internal/locationhvc_fifo_vm.out", shape = "rectangle"] 17 } 18 subgraph cluster_android { 19 label = "Android" 20 21 gnss_hal [label = "vendor.gnss-default", URL = "https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/gnss/aidl/default/"] 22 subgraph consoles { 23 rank = same; 24 fixed_location_console [color = "blue", label = "/dev/hvc6 | /dev/gnss1", shape = "rectangle"] 25 gnss_console [color = "green", label = "/dev/hvc5 | /dev/gnss0", shape = "rectangle"] 26 } 27 } 28 29 cli -> cvd_import_locations 30 cli -> cvd_update_location 31 browser -> webrtc 32 33 run_cvd -> gnss_grpc_proxy 34 35 fixed_location_console -> gnss_hal [color = "blue", dir = "both"] 36 gnss_console -> gnss_hal [color = "green", dir = "both"] 37 38 cvd_import_locations -> gnss_grpc_server [dir = "both"] 39 cvd_update_location -> gnss_grpc_server [dir = "both"] 40 webrtc -> gnss_grpc_server [dir = "both"] 41 42 gnss_grpc_server -> gnss_grpc_proxy [dir = "both"] 43 44 gnss_grpc_proxy -> host_gnss_console_in [color = "green"] 45 host_gnss_console_out -> gnss_grpc_proxy [color = "green"] 46 47 vmm -> host_gnss_console_out [color = "green"] 48 host_gnss_console_in -> vmm [color = "green"] 49 50 host_fixed_location_console_in -> gnss_grpc_proxy [color = "blue", dir = "back"] 51 host_fixed_location_console_out -> gnss_grpc_proxy [color = "blue"] 52 53 host_fixed_location_console_out -> vmm [color = "blue"] 54 host_fixed_location_console_in -> vmm [color = "blue", dir = "back"] 55 56 vmm -> fixed_location_console [color = "blue", dir = "both"] 57 vmm -> gnss_console [color = "green", dir = "both"] 58} 59