public override IEnumerator ReceivePayload(VisualPayload payload) { foreach (var entry in CsIndex.GetEntries(payload.Data)) { ChallengeSetInfo csInfo; if (CsIndex.GetValue(entry) > 0) { var csIndex = (uint)CsIndex.GetValue(entry); var csInfoCommand = new GetCsInfoCommand(csIndex); var commandIterator = CommandProcessor.Execute(csInfoCommand); while (commandIterator.MoveNext()) { yield return(null); } csInfo = csInfoCommand.CsInfo; } else { csInfo = DefaultChallengeSetInfo; } CsInfoTarget.SetValue(CsStatsAdapter.PopulateCsStats(csInfo), entry); } var iterator = Router.TransmitAll(payload); while (iterator.MoveNext()) { yield return(null); } }
protected override void OnProcessOutputSchema(MutableObject newSchema) { BinaryStatsTarget.SetValue(CsStatsAdapter.PopulateBinaryStats(new List <BinaryStats>() { CsStatsAdapter.DefaultBinaryStats }), newSchema); Router.TransmitAllSchema(newSchema); }
public override IEnumerator ReceivePayload(VisualPayload payload) { var binsetId = (uint)BinsetId.GetFirstValue(payload.Data); var binsetCommand = new GetBinsetCommand(binsetId); var commandIterator = CommandProcessor.Execute(binsetCommand); while (commandIterator.MoveNext()) { yield return(null); } var binList = new List <BinaryStats>(); foreach (var binId in binsetCommand.BinIds) { var binInfoCommand = new GetBinaryStatsCommand(binId); commandIterator = CommandProcessor.Execute(binInfoCommand); while (commandIterator.MoveNext()) { yield return(null); } binList.Add(binInfoCommand.BinStats); } BinaryStatsTarget.SetValue(CsStatsAdapter.PopulateBinaryStats( binList), payload.Data); var iterator = Router.TransmitAll(payload); while (iterator.MoveNext()) { yield return(null); } }
protected override void OnProcessOutputSchema(MutableObject newSchema) { CsInfoTarget.SetValue(CsStatsAdapter.PopulateCsStats(DefaultChallengeSetInfo), newSchema); Router.TransmitAllSchema(newSchema); }