private async Task ReportCamera(IPAddress ip, int port)
 {
     using (var sender = new CommandSender())
     {
         var reporting = new ReportingCommand(_listener.LocalHost, _listener.Port, _camera.GetSupportedResolutions());
         await sender.IssueCommand(reporting, ip, port);
     }
 }
 private async Task ReportCamera(IPAddress ip, int port)
 {
     using (var sender = new CommandSender())
     {
         var reporting = new ReportingCommand(_listener.LocalHost, _listener.Port, _camera.GetSupportedResolutions());
         await sender.IssueCommand(reporting, ip, port);
     }
 }
 public ServerController()
 {
     CameraHeartbeat += async f => { await Task.Yield(); };
     _cameras = new ConcurrentDictionary<string, RemoteCameraModel>(StringComparer.OrdinalIgnoreCase);
     _ping = new PingUtility(50123);
     _sender = new CommandSender();
     _listener = new CommandListener();
     _listener.RegisterHandler<ReportingCommand, RemoteCameraModel>(HandleReporting);
     _uploader = new UploadListener();
     _heartbeat = new HeartBeatListener();
     _heartbeat.DataRecieved += async f => { await CameraHeartbeat(f); };
 }