ibc icon indicating copy to clipboard operation
ibc copied to clipboard

1-n broadcast

Open cwgoes opened this issue 4 years ago • 6 comments

Should work both on ordered & unordered channels.

This will need to alter the handshakes.

cwgoes avatar Apr 09 '20 15:04 cwgoes

Difference between "UDP multicast" (no knowledge of receiver) and "receiver-known" broadcast.

The former should not require handshakes, the latter will.

Subscriptions mechanisms will likely require the latter (known receivers).

cwgoes avatar Apr 09 '20 15:04 cwgoes

Maybe best for "IBC 1.1".

cwgoes avatar Apr 09 '20 15:04 cwgoes

However, we should ensure that this can be added in a backwards-compatible way.

cwgoes avatar Apr 09 '20 15:04 cwgoes

Microtick is also interested in 1 to N channels.

zmanian avatar Aug 26 '20 17:08 zmanian

I believe the former can be specified as a backward-compatible way

  • Opening: sender designates the set of receivers, run handshake with each of them, establish channels with (successful parties / all or not, depending on the settings).
  • During broadcast: sender pushes packets to the channel, cleanup will check all of the receiver chains
  • Closing: either sender closes the channel, or (all / one of, depending on the setting) receiver chains close the channel.

we need to define a way to abstract a set of channels into a single channel in this case, but we can reuse the logic.

For the latter, we need to define a new channel type, with single-sided opening/closing and time-based cleanup.

mconcat avatar Aug 26 '20 20:08 mconcat

By the former, you mean "receiver-known" broadcast, right, since the sender designates the receiver set?

Even with "receiver-known" broadcast I think we should allow the receiver set to change after the channel has been opened.

cwgoes avatar Aug 27 '20 08:08 cwgoes