I have just tried the Pub/sub example out (https://github.com/dfinity/examples/tree/master/motoko/pub-sub). The docs say “PubSub is an especially valuable pattern on the Internet Computer as its primary drawback, message delivery failures, does not apply.”
Why does message delivery failures not apply here to? Docs here https://sdk.dfinity.org/docs/interface-spec/index.html#http-call-overview say that a message can be rejected by system or before the “received” state.
So one still need to check if the call in Pub/Sub scenario was rejected or not?
And can the message in inter-canister communication be dropped before the “received” state (https://sdk.dfinity.org/docs/interface-spec/index.html#http-call-overview) or does it only apply to user-canister communication?
Can someone elaborate more on the message delivery failures, does not apply statement from the Pub/Sub example docs and if there are different message delivery guaranties between canister-canister and user-canister communication?