public void ShutDown()
 {
     if (_subClient != null)
     {
         _subClient.Dispose();
     }
     _subClient        = null;
     _radarMuxCommands = null;
 }
        public async void Startup(string subEndpoint, string rpcEndpoint)
        {
            await Task.Yield();

            IFormatter formatter = new JsonFormatter();

            _rpcClient        = new ZmqRemoteCallClient(rpcEndpoint, formatter, TimeSpan.FromSeconds(3));
            _subClient        = new ZmqSubClient <RadarMuxTrack>(subEndpoint, formatter, onRadarMuxTrack, "tracks");
            _radarMuxCommands = InterfaceProxy.CreateObject <IRadarMuxCommands>(_rpcClient, "Commands");
        }