コード例 #1
0
        private static async Task <ReadRecoveryReply> ExecuteServerAsync(MasterReplicaService.MasterReplicaServiceClient Stub, GStoreObjectIdentifier gStoreObjectIdentifier)
        {
            ReadRecoveryRequest request = new ReadRecoveryRequest
            {
                ObjectIdentifier = new ObjectIdentifierDto
                {
                    PartitionId = gStoreObjectIdentifier.PartitionId,
                    ObjectId    = gStoreObjectIdentifier.ObjectId
                }
            };

            return(await Stub.ReadRecoveryAsync(request));
        }
コード例 #2
0
        private ReadRecoveryReply ExecuteReadRecovery(ReadRecoveryRequest request)
        {
            GStoreObjectIdentifier gStoreObjectIdentifier = new GStoreObjectIdentifier(request.ObjectIdentifier.PartitionId, request.ObjectIdentifier.ObjectId);

            bool valid = !gStore.IsLocked(gStoreObjectIdentifier);

            ObjectDto objectDto = null;

            if (valid)
            {
                objectDto = new ObjectDto
                {
                    ObjectIdentifier = request.ObjectIdentifier,
                    Value            = gStore.Read(gStoreObjectIdentifier)
                };
            }

            return(new ReadRecoveryReply
            {
                Valid = valid,
                Object = objectDto
            });
        }
コード例 #3
0
 public override Task <ReadRecoveryReply> ReadRecovery(ReadRecoveryRequest request, ServerCallContext context)
 {
     return(Task.FromResult(ExecuteReadRecovery(request)));
 }