The screen that sends it calls sendAcrossPush(answer, ...args) in its
enter, at the point of its burst where the app sends the request, and goes
on without waiting: the request keeps going in the process's background
(the process waits for it before it closes, and an abort stops it).
The screen it pushes next, by an edge of its own or of one of its items,
calls takeAcrossPush(answer, ...args) in its enter and gets that answer —
awaited if it is still on its way — instead of sending the request; the
server's answers join its own raw, and a failure of the request, a
challenge included, is its enter's failure, as if it had sent the request
itself. An answer is given once: a screen entered any other way, or entered
again, sends the request itself, with its own args.
When the sending screen stops being in front without the pushed screen
taking the answer — closed, another tab chosen, another screen pushed — the
answer goes to no screen: an ordinary result is discarded, and a session-
fatal one ends the process with its typed error. A session-fatal answer that
arrived while the sending screen is still in front waits for the screen it
pushes; if the process is checkpointed, exported or closed first, it ends the
process there. A checkpoint holds no answer: a process restored from it
sends the request again where a screen asks for it.
Declares a request whose answer crosses a push (ScreenAnswerAcrossPush).
The screen that sends it calls
sendAcrossPush(answer, ...args)in itsenter, at the point of its burst where the app sends the request, and goes on without waiting: the request keeps going in the process's background (the process waits for it before it closes, and an abort stops it).The screen it pushes next, by an edge of its own or of one of its items, calls
takeAcrossPush(answer, ...args)in itsenterand gets that answer — awaited if it is still on its way — instead of sending the request; the server's answers join its ownraw, and a failure of the request, a challenge included, is its enter's failure, as if it had sent the request itself. An answer is given once: a screen entered any other way, or entered again, sends the request itself, with its ownargs.When the sending screen stops being in front without the pushed screen taking the answer — closed, another tab chosen, another screen pushed — the answer goes to no screen: an ordinary result is discarded, and a session- fatal one ends the process with its typed error. A session-fatal answer that arrived while the sending screen is still in front waits for the screen it pushes; if the process is checkpointed, exported or closed first, it ends the process there. A checkpoint holds no answer: a process restored from it sends the request again where a screen asks for it.