/// <summary> /// /// </summary> /// <param name="message"></param> /// <returns></returns> private async Task Process(ProcessBlockMessage message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (message.BlockGraph == null) { throw new ArgumentNullException(nameof(message.BlockGraph)); } var job = await unitOfWork.Job.GetFirstOrDefault(x => x.Hash.Equals(Id.ToHex()) && x.Status == JobState.Blockmainia); if (job != null) { var block = await processBlockActorProvider.ProcessBlock(new BlockGraphMessage(message.BlockGraph)); if (block == null) { return; } Graph.Add(block.ToBlockGraph()); await unitOfWork.Job.SetState(job, JobState.Running); } }
/// <summary> /// /// </summary> /// <param name="message"></param> /// <returns></returns> public Task Process(ProcessBlockMessage message) { actor.Tell(message); return(Task.CompletedTask); }