Closed Kronuz closed 10 years ago
check if this explanation is enough, please. https://github.com/wandenberg/nginx-push-stream-module/wiki/FAQ
Well, I had to read the FAQ a few times, but I think I got it. Perhaps there could be a better name than "broadcast" (like dynamic channels perhaps)... but if I understood correctly, a broadcast channel is exactly the same as regular channels unless the directive push_stream_authorized_channels_only
is set to on
, in which case users can only connect to channels that either already have messages in them, or channels with a prefix making them "broadcast" channels. In other words, the broadcast channel term is only relevant if said configuration directive is used and makes broadcast channels "authorized" channels even if they are empty. Am I correct?
Maybe call them something like (always) live channels? Not sure if it fits well, buy broadcast and wildcard seem fit even less :) I thought that wildcard are something like users are able to listen to /sub/ch_* and get all messages sent to ch_1, ch_2, etc.
Call it as live channel is incorrect, because they will be collected at some point too. The wildcard name was chosen to represent that has an option to connect to a channel without a message if you connect to one which have a message. This was created to allow applications have a channel without messages but allow users to connect to it. As example, imagine a site that send messages about different subjects: sports, music and theater. And has a generic channel called news, which receives sporadic messages. When the user try to connect at the same time to sports and news channels, if the sports has messages and the news not the connection will be rejected. But, if the news channels was configured to be a wildcard channel, the connection will be accepted anyway.
This was solved on tag 0.4.0 3d3a204177d3a7ab8a2858e04e792a6d11bf133f Broadcast was renamed to Wildcard.
It is not clear to me what a "broadcast" channel is for. If several users connect to regular non-broadcast channels, all of them get the messages anyway (although this seems to be not happening either-way for long polling, but I'll add another issue for that)... so what's the difference?
Please add something about it somewhere in the documentation.