Update TrickleMessages.md file

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
Vitalii Koshura 2023-04-02 02:34:19 +02:00
parent 3ef021296d
commit 6ce66a6c68
No known key found for this signature in database
GPG Key ID: CE0DB1726070A5A3
1 changed files with 7 additions and 5 deletions

@ -1,4 +1,6 @@
*Trickle messages* let applications communicate with the server during the execution of a workunit. # Trickle messages
**Trickle messages** let applications communicate with the server during the execution of a workunit.
Messages are XML documents, and they may go from client to server or vice-versa. Messages are XML documents, and they may go from client to server or vice-versa.
Trickle messages are asynchronous, ordered, and reliable. Trickle messages are asynchronous, ordered, and reliable.
Since they are conveyed in scheduler RPC messages, they may not be delivered immediately after being generated. Since they are conveyed in scheduler RPC messages, they may not be delivered immediately after being generated.
@ -7,17 +9,17 @@ See [the APIs for sending and handling trickle messages](TrickleApi).
# Trickle-up messages # Trickle-up messages
*Trickle-up* messages go from application to server. **Trickle-up** messages go from application to server.
By default they are sent to the project's scheduler; By default they are sent to the project's scheduler;
you can optionally [replicate them to other schedulers as well](TrickleApi#Replicatedtrickle-upmessages). you can optionally [replicate them to other schedulers as well](TrickleApi#Replicatedtrickle-upmessages).
They are handled by *trickle handler daemons* running on the server. They are handled by **trickle handler daemons** running on the server.
Each message is tagged with a 'variety' (a character string). Each message is tagged with a 'variety' (a character string).
Each daemon handles messages of a particular variety. Each daemon handles messages of a particular variety.
(This is used, typically, to distinguish different applications.) Example uses: (This is used, typically, to distinguish different applications.) Example uses:
* The application sends a trickle-up message containing its current runtime, * The application sends a trickle-up message containing its current runtime,
so that users can be granted credit incrementally (rather than waiting until the end of the work unit). so that users can be granted credit incrementally (rather than waiting until the end of the work unit).
BOINC supplies [a trickle handler for this purpose](CreditAlt). BOINC supplies [a trickle handler for this purpose](CreditOptions).
* The application sends a trickle-up message containing a summary of the computational state, * The application sends a trickle-up message containing a summary of the computational state,
so that server logic can decide if the computation should be aborted. so that server logic can decide if the computation should be aborted.
@ -27,7 +29,7 @@ Add an entry in your [config.xml](ProjectConfigFile) to run this program as a da
# Trickle-down messages # Trickle-down messages
*Trickle-down* messages go from server to application. **Trickle-down** messages go from server to application.
Each one is addressed to a particular host, Each one is addressed to a particular host,
and must include an element <result_name> identifying the result to which the message is addressed. and must include an element <result_name> identifying the result to which the message is addressed.
If that result is still running on the host, it is delivered to it. Example uses: If that result is still running on the host, it is delivered to it. Example uses: