Summarize and merge MultiOperationResultSetWithException from settled Groups.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-14 05:06:18 -04:00
co-authored by Cursor
parent 3156652257
commit 21fa125d52
3 changed files with 59 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
#include <boostAsioLinkageFix.h>
#include <spinscale/multiOperationResultSet.h>
#include <spinscale/co/group.h>
namespace sscl {
MultiOperationResultSetWithException::MultiOperationResultSetWithException(
const co::Group &group)
{
unsigned int nSucceeded = 0;
unsigned int nFailed = 0;
using SettlementType = co::Group::SettlementDescriptor::TypeE;
for (const auto &desc : group.s.rsrc.settlements)
{
if (desc.type == SettlementType::EXCEPTION_THROWN) {
nFailed++;
}
else {
nSucceeded++;
}
}
results = MultiOperationResultSet(
static_cast<unsigned int>(group.s.rsrc.settlements.size()),
nSucceeded,
nFailed);
if (nFailed > 0) {
memberFailureException = group.captureAggregatedGroupExceptions();
}
}
} // namespace sscl