public override Task <CloneResponse> Clone(CloneRequest request, ServerCallContext context) { RemoteValue value = valueStore.GetObject(request.Value.Id); RemoteValue cloneResult = value.Clone(); var response = new CloneResponse(); if (cloneResult != null) { response.CloneResult = GrpcFactoryUtils.CreateValue(cloneResult, valueStore.AddObject(cloneResult)); } return(Task.FromResult(response)); }
public RemoteValue Clone() { CloneResponse response = null; if (connection.InvokeRpc( () => { response = client.Clone(new CloneRequest { Value = grpcSbValue }); })) { if (response.CloneResult != null && response.CloneResult.Id != 0) { return(valueFactory.Create(connection, response.CloneResult)); } } return(null); }