POE::C...er::J2(3pm)

πŸ“¦
version 3.00 Β· 3 versions
, in debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– 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 πŸŒΈβœ¨πŸ’–