Overview
Overview
Rover
│ UDP packets (protobuf-encoded PbEnvelope)
▼
UdpSocket bound on 0.0.0.0:9000
│
├── listener.rs decode → throttle → emit Tauri events → frontend
│
└── sender.rs encode PbEnvelope → send_to rover address
▲
└── dummy.rs generates fake packets for development
The socket is created once in service.rs, wrapped in an Arc, and shared between the listener and the sender/dummy so they all use the same bound port.