Class PushResultImpl
java.lang.Object
com.iizix.server.push.engine.PushResultImpl
- All Implemented Interfaces:
PushResult
The result of a send: the plan, the per-outcome tally and the per-target outcomes.
Every matched target is in exactly one bucket; the tally sums to the plan's matched count, which is what makes the result an audit record rather than a success counter.
- Author:
- Christopher Mindus
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordOne target's outcome.Method Summary
Modifier and TypeMethodDescriptionintGets the count of subscriptions delivered by any tier — the sum of theDeliveryOutcome.DELIVERED_IN_SESSIONandDeliveryOutcome.DELIVEREDbuckets.Gets the count of subscriptions perDeliveryOutcome.Gets the routing plan that was executed.Gets the per-target outcomes.booleanReports whether every matched, in-scope, deliverable subscription was delivered — i.e.toString()Gets a string representation: the tally.
Method Details
getRoutingPlan
Description copied from interface:PushResultGets the routing plan that was executed.- Specified by:
getRoutingPlanin interfacePushResult- Returns:
- The routing plan; never
null.
getOutcomeCounts
Description copied from interface:PushResultGets the count of subscriptions perDeliveryOutcome. The values sum toIRoutingPlan.getMatchedCount(); every matched subscription is in exactly one bucket.- Specified by:
getOutcomeCountsin interfacePushResult- Returns:
- An unmodifiable map from outcome to count; never
null.
getDeliveredCount
public int getDeliveredCount()Description copied from interface:PushResultGets the count of subscriptions delivered by any tier — the sum of theDeliveryOutcome.DELIVERED_IN_SESSIONandDeliveryOutcome.DELIVEREDbuckets. A convenience overPushResult.getOutcomeCounts().- Specified by:
getDeliveredCountin interfacePushResult- Returns:
- The delivered count.
isFullyDelivered
public boolean isFullyDelivered()Description copied from interface:PushResultReports whether every matched, in-scope, deliverable subscription was delivered — i.e. no bucket other than the two delivered outcomes and the deliberate exclusions is non-empty. A send with spooled or unreachable targets is not fully delivered, and the operator should expect a later replay.- Specified by:
isFullyDeliveredin interfacePushResult- Returns:
trueif nothing was left undelivered for a recoverable reason.
getTargetOutcomes
Gets the per-target outcomes.- Returns:
- A copy of the list.
toString