Exemplo n.º 1
0
        private GStoreListServerReply ExecuteListServer()
        {
            Console.WriteLine($"ListServer request");

            ICollection <GStoreObject> gStoreObjects = gStore.ReadAll();

            GStoreListServerReply reply = new GStoreListServerReply();

            foreach (GStoreObject gStoreObject in gStoreObjects)
            {
                reply.Objects.Add(DataObjectBuilder.FromString(gStoreObject.Identifier.PartitionId, gStoreObject.Identifier.ObjectId, gStoreObject.Value));
            }
            return(reply);
        }
Exemplo n.º 2
0
        private async Task <GStoreListServerReply> ExecuteListServer()
        {
            Console.WriteLine($"ListServer request");

            ICollection <GStoreObjectReplica> gStoreObjectReplicas = await gStore.ReadAll();

            GStoreListServerReply reply = new GStoreListServerReply();

            foreach (GStoreObjectReplica gStoreObjectReplica in gStoreObjectReplicas)
            {
                reply.ObjectReplicas.Add(DataObjectReplicaBuilder.FromObjectReplica(gStoreObjectReplica));
            }
            return(reply);
        }
        public static async Task <HashSet <GStoreObject> > Execute(ConnectionManager connectionManager, string serverId)
        {
            try
            {
                Server server;
                server = connectionManager.GetAliveServer(serverId);
                GStoreListServerReply gStoreListServerReply = await server.Stub.ListServerAsync(new Google.Protobuf.WellKnownTypes.Empty());

                HashSet <GStoreObject> gStoreObjects = new HashSet <GStoreObject>();
                foreach (DataObject dataObject in gStoreListServerReply.Objects)
                {
                    gStoreObjects.Add(CreateObject(dataObject));
                }
                return(gStoreObjects);
            }
            catch (Grpc.Core.RpcException e) when(e.StatusCode == Grpc.Core.StatusCode.Internal)
            {
                connectionManager.DeclareDead(serverId);
                return(null);
            }
        }