POE::C...::XMPP(3pm)
π NAME π
POE::Component::Jabber::XMPP β connect using the XMPP Jabber protocol π¦
β¨ SYNOPSIS β¨
okay so bestie, this is a Protocol implementation for all the specific lil details that happen in the XMPP protocol during connection initialization. it's giving very "the setup era" π
πΈ DESCRIPTION πΈ
PCJ::XMPP comes thru with every single mechanism you need to negotiate TLS, SASL, resource binding, and session negotiation β all the stuff PCJ needs to successfully establish an XMPP connection. like, it does not miss. π«Ά
in essence? it implements XMPP Core and a lil smidgeon of XMPP IM. a tasteful amount. not too much, not too little. iconic behavior honestly β¨
π METHODS π
pls go look at PCJ::Protocol to see what methods this class supports, bestie. i'm not gatekeeping, it's just literally all documented over there π
π EVENTS π
here's the exported events that make their way into the PCJ session, listed out for u π
set_auth
this one handles the initial SASL authentication portion of the XMPP connection. the first hello, basically π₯°
init_input_handler
this is our entry point!! this is what PCJ uses to deliver events to us. main character energy fr fr π
build_tls_wheel
if TLS is required by the server, this is where that negotiation process happens. wheel? built. vibes? immaculate πβ¨
challenge_response
this handles the subsequent SASL authentication steps. the follow-ups. the sequels. the "and another thing" π
binding
this handles the resource binding π
session_establish
this handles session binding π
π NOTES AND BUGS π
okay so real talk, currently only DIGEST-MD5 and PLAIN SASL mechanisms are supported. server implementations are totally free to include more stringent mechanisms than these, but these ones right here are the bare minimum required, no cap.
and PLAIN isn't /really/ allowed by the spec π but it's included because it was a requested feature. so like. it stays. don't come for me, come for the person who asked π
also!! the underlying backend changed this release β it now uses a brand new Node implementation based on XML::LibXML::Element. so pls pls pls go read the POE::Filter::XML::Node documentation for the relevant API changes, bestie, i am begging π₯Ί
π AUTHOR π
Copyright (c) 2003-2009 Nicholas Perez. Distributed under the GPL. periodt π
and that's the whole page, bestie!! this lil gem is part of the User Contributed Perl Documentation, shipping with perl v5.36.0 and dated 2023-08-26. go forth and negotiate those connections, you absolute legend π¦πβ¨π
π¦ where this page comes from
- debian trixie: libpoe-component-jabber-perl 3.00-6 Β· GPL-2.0-only
- ubuntu noble: libpoe-component-jabber-perl 3.00-6 Β· GPL-2.0-only
- ubuntu resolute: libpoe-component-jabber-perl 3.00-6 Β· GPL-2.0-only
- ubuntu stonking: libpoe-component-jabber-perl 3.00-6 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms