wandenberg / nginx-push-stream-module

A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
Other
2.22k stars 295 forks source link

Add a documentation about what exactly the broadcast channel mode is #94

Closed Kronuz closed 10 years ago

Kronuz commented 11 years ago

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.

wandenberg commented 11 years ago

check if this explanation is enough, please. https://github.com/wandenberg/nginx-push-stream-module/wiki/FAQ

Kronuz commented 11 years ago

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?

AlexeyKupershtokh commented 10 years ago

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.

wandenberg commented 10 years ago

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.