public override async Task ExecuteAsync(List <string> arguments) { if (arguments.Count != EXPECTED_ARGUMENTS) { Console.WriteLine("Expected " + EXPECTED_ARGUMENTS + " arguments but found " + arguments.Count + "."); return; } Console.WriteLine("listGlobal"); IDictionary <string, Task <HashSet <GStoreObject> > > listServerTaskPairs = new Dictionary <string, Task <HashSet <GStoreObject> > >(); foreach (Server server in ConnectionManager.GetAliveServers()) { listServerTaskPairs.Add(server.Id, ListServerController.Execute(ConnectionManager, server.Id)); } foreach (KeyValuePair <string, Task <HashSet <GStoreObject> > > listServerTaskPair in listServerTaskPairs) { string serverId = listServerTaskPair.Key; Task <HashSet <GStoreObject> > task = listServerTaskPair.Value; HashSet <GStoreObject> gStoreObjects = await task; Console.WriteLine($"List Server: {serverId}"); if (gStoreObjects == null) { Console.WriteLine($"=> Server {serverId} crashed."); continue; } foreach (GStoreObject gStoreObject in gStoreObjects) { Console.WriteLine($"=> {gStoreObject.Identifier.PartitionId}, {gStoreObject.Identifier.ObjectId}, {gStoreObject.Value}"); } } }
public override async Task ExecuteAsync(List <string> arguments) { if (arguments.Count != EXPECTED_ARGUMENTS) { Console.WriteLine("Expected " + EXPECTED_ARGUMENTS + " arguments but found " + arguments.Count + "."); return; } string serverId = arguments.ElementAt(0); Console.WriteLine($"List Server: {serverId}"); try { HashSet <GStoreObject> gStoreObjects = await ListServerController.Execute(ConnectionManager, serverId); if (gStoreObjects == null) { Console.WriteLine($"=> Server {serverId} crashed."); return; } foreach (GStoreObject gStoreObject in gStoreObjects) { Console.WriteLine($"=> {gStoreObject.Identifier.PartitionId}, {gStoreObject.Identifier.ObjectId}, {gStoreObject.Value}"); } } catch (ServerBindException e) { Console.WriteLine($"ERROR: {e.Message}"); } catch (RpcException ex) when(ex.StatusCode == StatusCode.Internal) { Console.WriteLine($"Could not establish connection with server."); } }