* Create a network service and connection faup's stdin. Create a Modes.faup_rate_multiplier attribute and set from faup command input
* Use faup_rate_multiplier to adjust the minAge for emitting messages
* Convert upload_rate_multiplier to a double and adjust minAge with it
* Cleanup
* Var name change
* MODES_NOTUSED define for unused modes client object
* Sanity check on faup multiplier field
The old logic had a number of problems, including:
* sending heartbeats on all service types if any type needed
a heartbeat
* sending a heartbeat multiple times a second if there was a
service type that was idle but didn't generate traffic when
an empty message was sent (e.g. FATSV)
Rewrite it all so that heartbeats are explicitly tracked and handled
per service type, rather than by sending a dummy message.
Also switch to mode A/C messages for the beast/raw heartbeat, as
it's a bit more compact and less likely to mess with Mode S state
(an all-zeros Mode S message actually looks valid)
This lets different things dynamically create the services they need,
and sorts out the horrible hacks that view1090 used to make outgoing
connections. Now you can explicitly create a service and tell it to make
an outgoing connection.
This means that view1090 can now just set all the ports to zero (to disable
the listeners), do a normal net init, then explicitly construct the beast
input service without a listener and tell it to make a connection as needed.