Skip to main content

Crate radar_server

Crate radar_server 

Source
Expand description

§Radar Server

The one binary to rule them all for all things related to Professor John Mower’s radar system.

§Goals:

§When running as a Server:

  • Source radar data from the radar hardware in such a way that adding support for new radar systems is easy.
  • Source simulated radar data from a random function and / or a sample file.
  • Send radar data to clients through a ZMQ Publisher Subscriber connection.
  • Listen as a ZMQ router, and adjust radar control commands from authorized clients.

§When running as an Archiver:

  • Subscribe to a Server’s published data.
  • Archive that data in an HDF5 file.
  • Send live data to the appropriate clients as a ZMQ router.
  • Listen as a ZMQ router for requests for archived data.
  • Respond as a ZMQ router with archived data.
  • Listen as a ZMQ router and forward server commands as a dealer.

§Current ToDos

  • Improve Archiver Performance, the data is copied a few times and I don’t like that.
  • Fix radar control, decide if the client should ever be allowed to connect to the server, or if all communication should pass through the Archiver
  • Acquire hardware/hardware simulation
  • Source Real Server data. (Blocked by Acquire hardware/hardware simulation)
  • Implement Radar Blanking. (Blocked by Acquire hardware/hardware simulation)
  • Implement radar control. security.
  • Finalize radar control (PBlocked by Implement radar control security)
  • Implement true Server mode. (Blocked by Sourcing Real Server Data and Implement radar control)

Modules§

consts 🔒
plugins 🔒
The plugins module contains all logic and datastructure submodules

Functions§

main 🔒
Main handles argument parsing and calling the necessary submodules.