Message Delivery & Pickup === --- ## Internet Problems - Unreliable Message Transfer - No public endpoint to Agent --- ## Delivery Retry - Requires Delivery Queue ```sequence participant Alice participant Bob Note over Alice: Alice Generates Message For Bob Alice -->> Bob: Failed Delivery attempt Note over Alice: Alice Stores message in delivery queue Alice -> Bob: Retried Delivery Succeeds ``` --- Message Pickup --- Delivery becomes impossible: - previous endpoint not coming back online - no endpoint to start with ```sequence participant Alice participant Bob Note over Alice: Alice Generates Message For Bob Note over Alice: Lacking endpoint, Alice stores messsage \nin delivery queue. Bob -> Alice: M(w/return_route) Alice --> Bob: Queued Messages Sent\nOver inbound connection ``` --- How to Pickup Messages --- Implicit: - use return-route decorator to indicate desired transmission over inbound connection. - Use thread option if not desiring delivery of unrelated messages Explicit: - Use designated protocol to retrieve messages --- Pickup Implications --- - Requres Queue (Also required for delivery retry) - Queue Policy - How long will items be queued before deletion? - How many Delivery Retry Attempts? --- Protocols --- - Queue Status - How many messages waiting - Queue Policy - Current Policy - Request to Update Policy --- ## Current Writeup By Andrew Whitehead https://hackmd.io/@8VtAqKThQ6mKa9T7JgzIaw/SJw9Ead2N?type=view --- --- > Sequence Diagram Syntax: http://bramp.github.io/js-sequence-diagrams/
{}
    118 views