This is a Protocol implementation for the specifics in the XMPP protocol during connection initialization.
PCJ::XMPP provides all the mechanisms to negotiate TLS, SASL, resource binding, and session negotiation that PCJ needs to successfully establish an XMPP connection. In essence, it implements XMPP Core and a smidgeon of XMPP IM.
Please see PCJ::Protocol for what methods this class supports.
Listed are the exported events that make their way into the PCJ session:
This handles the initial SASL authentication portion of the XMPP connection.
This is our entry point. This is what PCJ uses to deliver events to us.
If TLS is required by the server, this is where that negotiation process happens.
This handles the subsequent SASL authentication steps.
This handles the resource binding
This handles session binding.
Currently, only DIGEST-MD5 and PLAIN SASL mechanisms are supported. Server implementations are free to include more strigent mechanisms, but these are the bare minimum required. (And PLAIN isn't /really/ allowed by the spec, but it is included because it was a requested feature)
The underlying backend has changed this release to now use a new Node implementation based on XML::LibXML::Element. Please see POE::Filter::XML::Node documentation for the relevant API changes.
Copyright (c) 2003-2009 Nicholas Perez. Distributed under the GPL.