-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split to separate distribution AnyEvent::MQTT5 #2
Comments
I've always had in mind splitting the distribution into submodules, but it is not a trivial thing to do. ToyBroker, as its name hints, was never intended to be a full fledged broker. It is part of the test suite of Beekeeper and implements just the bare minimum functionality needed to run Beekeeper applications. Eventually it might be part of a Beekeeper::Test distribution. I also planned to put the MQTT client into its own distribution, inside the AnyEvent::MQTT namespace. In order to do that I need to create a comprehensive test suite, implement the version 3 of the protocol, and handle the differences in protocol implementations between popular brokers. It is doable, but as i said, it is not a trivial thing to do. What are you trying to do? Beekeeper is a framework for building distributed applications. If you are only interested in ToyBroker, I strongly suggest to use Mosquitto instead, which is a pretty good broker, well documented and maintained, and easy to install. If you are interested only in the client you can use it stand-alone, as Beekeeper::MQTT is already a self contained module (see the documentation):
|
I've forgot to pull explanations from our e-mail conversation to this ticket, so I'll do this now (better late than never) for ability of public references, and I'll also add reference to https://github.com/nuclight/tkxgram/blob/master/docs/db.md which don't (yet) explicitly describes this idea of MQTT5 using (but does so implicitly): Subject: Re: Split to separate distribution AnyEvent::MQTT5
Date: Fri, 24 Dec 2021 03:30:31 +0300
X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.33; amd64-portbld-freebsd11.4)
At Thu, 23 Dec 2021 05:21:39 -0300
José Micó <[email protected]> wrote:
> I am not sure that Beekeeper is the proper tool to solve your use
> case.
Yes, I know,
> Let me know what are you trying to do, and I will be glad to help.
Well, this is a long story, take a cup of tea or coffee... There is a messenger called Telegram, https://telegram.org (recently So in fact most alternative clients just use their code (published About three years ago, Telegram started to deploy changes which regain While from some points of view this is viewable as censorship-like, And as you probably know, that in just decade or two ago Internet was So I with my former teamlead wrote a library in Perl for Telegram, from However, it's not very handy to dig by Data::Dumper, also when you have So this is a very challenging and complex task. Apart from DB side, This year this server bug disappeared, but who knows... "Well", I thought some time later, "if I'm forced to several processes, Then I thought about plugins, and may be support of other protocols, or Then in multiprocess environment one need to some kind of protocol to Now remember that client should be simple enough for casual user, And then I've found Beekeper. Obviously, it is solution for another I've looked to about other parts of Beekeper, but it also seems to be As for version 3/testing. Note that on CPAN there are several other So, that's answer - why.
--
WBR, tg://@nuclight |
Thanks for the great work!
But, could you please split MQTT client and broker to separate distribution? There are currently no MQTT 5.0 modules on CPAN, except of yours, and for one-machine / no Web/JSONRPC setup - using entire Beekeper for just toy broker seems a significant overhead.
The text was updated successfully, but these errors were encountered: