POE::C...er::J2(3pm)
π POE::Component::Jabber::J2 β a.k.a. PCJ::J2 π
okay bestie, welcome to the manual page for POE::Component::Jabber::J2, living its best life in section 3pm of the Perl docs. she's a whole vibe and she has ONE job: connect to the jabberd20 router as a service. let's get into it π«Ά
β¨ NAME β¨
POE::Component::Jabber::J2 β connect to the jabberd20 router as a service π¦
β¨ SYNOPSIS β¨
PCJ::J2 is a Protocol implementation, and the way she uses it is to connect to the jabberd20 router as a service. that's it, that's the whole synopsis, she's lowkey mysterious like that π
β¨ DESCRIPTION β¨
so PCJ::J2 implements the jabberd2 component spec, which lives right here if you wanna go read it:
http://jabberd.jabberstudio.org/dev/docs/component.shtml
and specifically β like, the actual main character work she does β PCJ::J2 negotiates TLS, SASL, and domain binding, because all three of those are required to establish a working connection with jabberd2 as a service. no skipping steps, bestie, the handshake is the whole plot πΈ
β¨ METHODS β¨
please see PCJ::Protocol for what methods this class supports β she's not about to list them twice, go check the other page π
β¨ EVENTS β¨
listed below are the exported events that make their way into the PCJ session. each one is doing its little part, iconic behavior honestly π
π set_auth
this handles the initial SASL authentication portion of the connection. first contact energy β¨
π init_input_handler
this is our entry point β this is what PCJ uses to deliver events to us. it handles various responses until the connection is initialized fully. she's the bouncer at the door fr fr π
π build_tls_wheel
if TLS is required by the server, this is where that negotiation process happens. encryption arc, we love to see it π₯
π challenge_response
this handles the subsequent SASL authentication steps. like, after the initial one, the follow-ups, you know how it goes π«
π binding
this handles the domain binding. short king of a description but she does her job π
β¨ NOTES AND BUGS β¨
okay so, real talk time π
this Protocol may implement the spec, but here's the thing β that spec hasn't been touched in quite some time. so if for some reason the implementation fails against a particular jabberd2 version, please let the author know. he wants the tea β
also! heads up, the underlying backend has changed this release β it now uses a new Node implementation based on XML::LibXML::Element. so please go peek at the POE::Filter::XML::Node documentation for the relevant API changes, because things moved and you deserve to know π
not me warning you about a stale spec AND a backend glow-up in the same section. protective queen behavior, honestly π«Ά
β¨ AUTHOR β¨
Copyright (c) 2003-2009 Nicholas Perez. Distributed under the GPL. π
and that's the whole page, bestie!! perl v5.36.0, dated 2023-08-26, and that's the tea π mwah, go build something cute πΈβ¨π
π¦ 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