Interface IInSessionDelivery
public interface IInSessionDelivery
The in-session delivery seam: Tier 1, a write down the recipient's live IIZI session - server to
AppSessionGyro to its ClientSessionGyros - entirely within IIZI transports, never VAPID or FCM.Not built by this order. ORDER 3 fills it: a PNClientProp as a communicating property container carrying the device UUID and the FCM and APNS identities, synced on connect, delivered by GProp.triggerRemoteEvent. The engine and the resolver are shaped for it now: the resolver enumerates live sessions as targets only while isAvailable() is true, and the engine routes those targets here and applies the ruled fallback to a device push for the in-session codes that permit one.
This is the one delivery method with no third-party store-and-forward behind it, so for it the spool is the durability: an in-session target the seam cannot reach now is spooled like any other undelivered target.
- Author:
- Christopher Mindus
Field Summary
FieldsMethod Summary
Modifier and TypeMethodDescriptiondeliver(DeliveryTarget target, IPushNotification notification) Delivers a notification to a live client session.booleanChecks if in-session delivery is implemented and running.
Field Details
NONE
The seam as it stands: unavailable. The resolver produces no in-session targets and the engine never callsdeliver(DeliveryTarget, IPushNotification).
Method Details
isAvailable
boolean isAvailable()Checks if in-session delivery is implemented and running.- Returns:
- true when live sessions are valid delivery targets.
deliver
Delivers a notification to a live client session.- Parameters:
target- The in-session target (DeliveryTarget.isInSession()).notification- The notification.- Returns:
DeliveryOutcome.DELIVERED_IN_SESSION, or one of theIN_APP_SESSION_*codes.