herecydev / Rush

Messaging library for .NET
MIT License
2 stars 0 forks source link

Broadcasting #4

Open herecydev opened 8 years ago

herecydev commented 8 years ago

Would be nice to have the ability to send a message to all subscribed channels, based on the message type.

herecydev commented 8 years ago

A few ideas about expected behavior. If a broadcast was being made, but some of the channels threw an exception should we:

  1. Retry all the channels, therefore guaranteeing at least once delivery on each message channel
  2. Return to the caller, therefore guaranteeing at least once delivery per message
  3. Retry the failed channels until they pass or are no longer operational, therefore guaranteeing exactly once delivery per channel
smudge202 commented 8 years ago

I vote for 3

danielcirket commented 8 years ago

Option 3 for me, providing there is a way to recover from sending the message infinitely because a channel keeps failing, I guess the assumption would be that they should go non-operational if they keep failing?

herecydev commented 8 years ago

@danielcirket Read this. I'm not a fan of second guessing the channels. As from the sender's point of view they are just exceptions with no context, from the channel's point of view they might be transient errors that are recoverable