protected override JobHandle OnUpdate(JobHandle inputDeps) { var cleanDeps = new ConsumeJob { CmdBuffer = cmdBufferSystem.CreateCommandBuffer().ToConcurrent() }.ScheduleSingle(this, inputDeps); cmdBufferSystem.AddJobHandleForProducer(cleanDeps); return(cleanDeps); }
public async Task SendActivateRequest(ActivateJobsRequest request, ConsumeJob consumer, DateTime?requestTimeout = null, CancellationToken?cancellationToken = null) { var activateRequestTimeout = requestTimeout ?? CalculateRequestTimeout(request); using (var stream = client.ActivateJobs(request, deadline: activateRequestTimeout)) { var responseStream = stream.ResponseStream; while (await MoveNext(responseStream, cancellationToken)) { var currentResponse = responseStream.Current; var response = new ActivateJobsResponses(currentResponse); await consumer.Invoke(response); } } }