multi source support
This series adds multi-source support to the server. Source determination is provisional, and based just on channel prefix (e.g. everything before the first colon in the channel name), but it's a starting point to work off of.
The commits in the series are atomic, so the series shouldn't be squashed. The series includes various cleanup patches, but from a high level it flows as follows:
- rename the server class itself to be
ArrakisFlightServer
. - modify the server class to take an initialized backend as argument. This intended to help make a cleaner interface between server and backend.
- make backends inherit from
traits.ServerBackend
, to allow specifying common code for every backend in a convenient way. - have backends specify which sources they are providing.
- add multi-source support to the server.
- allow specifying source: location maps from the command line
- support information-only servers, which do not themselves have backends.
Edited by Jameson Rollins