public override Task <LoadCoreResponse> LoadCore(LoadCoreRequest request, ServerCallContext context) { RemoteTarget target = GrpcLookupUtils.GetTarget(request.Target, _targetStore); SbProcess process = target.LoadCore(request.CorePath); var response = new LoadCoreResponse(); if (process != null) { if (!_processStore.TryAdd(process.GetUniqueId(), process)) { ErrorUtils.ThrowError(StatusCode.Internal, "Could not add process to store: " + process.GetUniqueId()); } response.Process = new GrpcSbProcess { Id = process.GetUniqueId() }; } return(Task.FromResult(response)); }
// <summary> // |coreFile| should be a path to core file on the local machine. // </summary> public SbProcess LoadCore(string coreFile) { LoadCoreResponse response = null; if (connection.InvokeRpc(() => { response = client.LoadCore(new LoadCoreRequest { Target = grpcSbTarget, CorePath = coreFile }); })) { if (response.Process != null) { return(processFactory.Create(connection, response.Process)); } } return(null); }