Package com.iizix.server.push.api
package com.iizix.server.push.api
- ClassDescriptionThe Push Notification (PN) API of one application session, behind
IAppSessionGyro.getPushNotificationAPI()(P4-04): the fan-out sends and the count, which need no channel and work from this order on through the device tier, and the six delegating calls (resetDeviceEverywheresince P4-08, P4-b), which hand over to the client session'sIPushNotificationAPIand re-post its answer to this session's worker (PUSH-PROPS-DESIGN section 4.3).The Push Notification (PN) API of one client session, behindIClientSessionGyro.getPushNotificationAPI()(P4-04).TheIPushSessionContexts of the two gyros: the client session's posts to its client worker, the application session's to its application worker; both take the user from the application session at every call and the engine from the server.What a Push Notification (PN) API instance needs from the session it belongs to: the application, the user, the worker to post callbacks to, the disposal state and the engine.The worker-posting helper of PUSH-PROPS-DESIGN section 5: a callback or a listener event posted to the session's worker as aWorkerTaskwith aWorkerTaskEndedcallback, never run on the calling thread, with the disposal rule of design section 6.2 applied at every stage - the session disposed before the post, the worker refusing the post, the session disposed before the task ran, the task cancelled by the worker's disposal or abandoned by the API's - and each such case logged ONCE at INFO as "not completed".TheIPushDeviceStateaqueryDeviceStateanswers with (P4-06): the client's reply toQUERY_STATEcombined with the server's own store, so thatisSubscribedis true only when both ends hold the subscription (PUSH-PROPS-DESIGN section 4.2).A client's receipt as the Java API reports it (P4-11): built from aSHOWNorCLICKEDreport of the session's channel, as the session's user.The result of a send made through the Java API: the message ID and one outcome per target (PUSH-WIRE-CONTRACT section 9.3).The part of the server-side Push Notification (PN) API the client session's and the application session's instances share (PUSH-PROPS-DESIGN section 4.1, P4-04): the message builder, the queries and the listeners ofIPushNotificationCommonAPI, the threading rule of section 5, and the engine-sourced events of section 4.4 received from the engine'sPushEvents.TheIPushSubscribeResultasubscribeanswers with (P4-07): whether the row is new, and the row as stored, without its key material (PUSH-WIRE-CONTRACT section 5.2'screated, and the subscription entry of section 5.5).One stored subscription as the Java API lists it: the row without its key material, endpoint, token or address.The outcome of a send for one target, as the Java API reports it.