blob: 7dcd03540ea078c82641b250bbb3364b500b33e5 [file] [log] [blame] [edit]
digraph {
rankdir = "BT"
audio_server [label = "internal/audio_server.sock", shape = "rectangle"]
browser [label = "Browser"]
confirmationui_sign [label = "internal/confui_sign.sock", shape = "rectangle"]
gnss_grpc_proxy
gnss_grpc_server [label = "GNSS gRPC server", shape = "rectangle"]
host_bluetooth [label = "Host bluetooth (netsim / rootcanal)"]
host_confirmationui_in [label = "internal/confui_fifo_vm.in", shape = "rectangle"]
host_confirmationui_out [label = "internal/confui_fifo_vm.out", shape = "rectangle"]
keyboard_server [label = "internal/keyboard.sock", shape = "rectangle"]
touch_server [label = "internal/touch_N.sock", shape = "rectangle"]
run_cvd
operator_proxy
secure_env
socket_vsock_proxy
wayland_socket [label = "internal/frames.sock", shape = "rectangle"]
webrtc [label = < <B>webrtc</B> >, penwidth = 2]
vmm [label = "crosvm"]
subgraph cluster_host {
label = "cuttlefish-user Debian package"
operator [label = "Host Orchestrator"]
operator_socket [label = "/run/cuttlefish/operator", shape = "rectangle"]
}
subgraph cluster_android {
label = "Cuttlefish VM"
subgraph devices {
rank = same;
confirmationui_console [label = "/dev/hvc8", shape = "rectangle"]
keyboard_input [label = "/dev/input/event3 | keyboard", shape = "rectangle"]
touch_input [label = "/dev/input/event2 | touch", shape = "rectangle"]
}
adb_daemon [label = "ADB Daemon"]
confirmationui [label = "ConfirmationUI HAL"]
}
operator -> browser [label = < <I>HTTPS</I> (1443) >, dir = both]
webrtc -> browser [label = < <I>WebRTC</I> >, dir = both]
operator_proxy -> browser [label = < <I>HTTPS</I> (8443) >, dir = both]
operator -> operator_proxy [label = < <I>HTTP</I> (1080) >, dir = both]
operator_socket -> operator [label = < <I>JSON</I> >, dir = both]
webrtc -> operator_socket [label = < <I>JSON</I> >, dir = both]
webrtc -> run_cvd [dir = back]
webrtc -> host_bluetooth
webrtc -> confirmationui_sign -> secure_env [dir = both]
webrtc -> gnss_grpc_server -> gnss_grpc_proxy [dir = both, label = "TCP"]
adb_daemon -> socket_vsock_proxy -> webrtc [dir = both]
audio_server -> webrtc [dir = both]
vmm -> audio_server [dir = both]
vmm -> wayland_socket -> webrtc [label = < <I>Wayland</I> >, dir = both]
vmm -> keyboard_server -> webrtc [dir = back]
vmm -> touch_server -> webrtc [dir = back]
vmm -> host_confirmationui_out -> webrtc
vmm -> host_confirmationui_in -> webrtc [dir = back]
confirmationui -> confirmationui_console -> vmm [dir = both]
keyboard_input -> vmm
touch_input -> vmm
}