async Task Register() { while (true) { var callManagementServerEndpoint = _serviceDiscovery.CallManagementServerEndpoint(); Console.WriteLine($"Attempting to register with LoadBalancer {callManagementServerEndpoint}"); bool registered = await _loadBalancerProtocol.SendRegisterServingNode( new IPEndPoint(_serviceDiscovery.GetMyAddress(), _ropuProtocol.MediaPort), callManagementServerEndpoint); if (registered) { await Task.Delay(60000); continue; } Console.WriteLine("Failed to register with load balancer"); await Task.Delay(5000); } }
async Task Register() { while (true) { var callManagementServerEndpoint = _serviceDiscovery.CallManagementServerEndpoint(); bool registered = await _loadBalancerProtocol.SendRegisterCallController( new IPEndPoint(_serviceDiscovery.GetMyAddress(), _ropuProtocol.MediaPort), callManagementServerEndpoint); if (registered) { Console.WriteLine("Registered"); while (true) { await Task.Delay(GetRefreshIntervalMilliseconds()); if (_controllerId == null) { //never received a Controller Registration Info Packet Console.WriteLine("Never received a Controller Registration Info Packet"); //need to resend our registration break; } if (!await TaskCordinator.Retry(() => _loadBalancerProtocol.SendControllerRefreshCallController(_controllerId.Value, callManagementServerEndpoint))) { registered = false; break; } } } else { Console.WriteLine("Failed to register"); await Task.Delay(2000); } } }