POE::C...Events(3pm)

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

πŸ’– NAME πŸ’–

okay so POE::Component::Jabber::Events β€” it's the little bestie that exports constants so you can track the status of PCJ. that's it. that's the whole job. she's a constants girlie. ✨


πŸŽ€ SYNOPSIS πŸŽ€

like, here's every single one of them, in order, no skipping:

PCJ_CONNECT
PCJ_CONNECTING
PCJ_CONNECTED
PCJ_CONNECTFAIL
PCJ_STREAMSTART
PCJ_STREAMEND
PCJ_NODESENT
PCJ_NODERECEIVED
PCJ_NODEQUEUED
PCJ_SSLNEGOTIATE
PCJ_SSLSUCCESS
PCJ_SSLFAIL
PCJ_AUTHNEGOTIATE
PCJ_AUTHSUCCESS
PCJ_AUTHFAIL
PCJ_BINDNEGOTIATE
PCJ_BINDSUCCESS
PCJ_BINDFAIL
PCJ_SESSIONNEGOTIATE
PCJ_SESSIONSUCCESS
PCJ_SESSIONFAIL
PCJ_RTS_START
PCJ_RTS_FINISH
PCJ_READY
PCJ_SHUTDOWN_START
PCJ_SHUTDOWN_FINISH
PCJ_SOCKETFAIL
PCJ_SOCKETDISCONNECT

🌸 DESCRIPTION 🌸

so POE::Component::Jabber::Events exports a whole bunch of useful constants for tracking the status of PCJ while it's out there doing its thing. πŸ¦‹

the move is literally just: subscribe to these events and boom, you get notified. that's the vibe. periodt. πŸ’…


✨ EXPORTS ✨

below are all the exported constants, each with a lil rundown of what it's actually signalling to you, the end developer 🫢:

  • PCJ_CONNECT β€” the 'connect' or 'reconnect' event has fired. she's up. πŸ”₯
  • PCJ_CONNECTING β€” connecting is now in process. hold please, we're loading bestie ⏳
  • PCJ_CONNECTED β€” initial connection established. we're in πŸ’–
  • PCJ_STREAMSTART β€” a <stream:stream/> tag has been sent. heads up: how many of these you get is variable, depending on which Protocol is currently active (like, XMPP will send upto three, while LEGACY will only send one). no cap. 🌈
  • PCJ_SSLNEGOTIATE β€” TLS/SSL negotiation has begun. and listen: this event only is fired from XMPP and JABBERD20_COMPONENT connections. πŸ”
  • PCJ_SSLSUCCESS β€” TLS/SSL negotiation has successfully complete. socket layer is now encrypted. also: this event only is fired from XMPP and JABBERD20_COMPONENT connections. πŸŽ‰
  • PCJ_SSLFAIL β€” TLS/SSL negotiation has failed. 😭 and yeah, this event only is fired from XMPP and JABBERD20_COMPONENT connections. πŸ’€
  • PCJ_AUTHNEGOTIATE β€” whatever your authentication method is (like iq:auth, SASL, <handshake/>, etc), it is in process when this status is received. it's giving "prove it" πŸ’…
  • PCJ_AUTHSUCCESS β€” authentication was successful. slay. ✨
  • PCJ_AUTHFAIL β€” authentication failed. πŸ™ˆ
  • PCJ_BINDNEGOTIATE β€” two flavours, bestie:
    • For XMPP connections: this indicates resource binding negotiation has begun.
    • For JABBERD20_COMPONENT connections: domain binding negotiation has begun.
    • and fr fr: this event will not fire for any but the above two connection types.
  • PCJ_BINDSUCCESS β€” again, two flavours:
    • For XMPP connections: this indicates resource binding negotiation was sucessful.
    • For JABBERD20_COMPONENT connections: domain binding negotiation was successful.
    • same deal: this event will not fire for any but the above two connection types.
  • PCJ_BINDFAIL β€” binding for which ever context has failed. πŸ˜”
  • PCJ_SESSIONNEGOTIATE β€” only for XMPP: this indicates session binding (XMPP IM) negotiation has begun. 🌟
  • PCJ_SESSIONSUCCESS β€” only for XMPP: this indicates session binding (XMPP IM) negotiation was successful. πŸ‘‘
  • PCJ_SESSIONFAIL β€” session negotiation has failed for which ever context. πŸ’€
  • PCJ_NODESENT β€” a Node has been placed, outbound, into the Wheel. ARG0 will be the node. πŸ“€
  • PCJ_NODERECEIVED β€” a Node has been received. ARG0 will be the node. πŸ“₯
  • PCJ_NODEQUEUED β€” an attempt to send a Node while there is no valid, initialized connection was caught. the Node has been queued. peep the POE::Component::Jabber event 'purge_queue' for details. ARG0 will be the node. 🧺
  • PCJ_RTS_START β€” a return_to_sender event has been fired for an outbound node. ARG0 will be the node. πŸŒ€
  • PCJ_RTS_FINISH β€” a return_to_sender event has been fired for a matching inbound node. ARG0 will be the node. 🎯
  • PCJ_READY β€” this event indicates that the connection is fully initialized and ready for use. 🌈
Watch for this event and begin packet transactions AFTER it has been fired. seriously, don't jump the gun bestie. βœ‹
  • PCJ_STREAMEND β€” a </stream:stream> Node has been sent. this indicates the end of the connection and is called upon 'shutdown' of PCJ after the Node has been flushed. πŸšͺ
  • PCJ_SHUTDOWN_START β€” this indicates that 'shutdown' has been fired and is currently in progress of tearing down the connection. 🫠
  • PCJ_SHUTDOWN_FINISH β€” this indicates that 'shutdown' is complete. bye bestie πŸ‘‹
  • PCJ_SOCKETFAIL β€” this indicates a socket level error. ARG0..ARG2 will be exactly what was passed to us from POE::Wheel::ReadWrite. 😡
  • PCJ_SOCKETDISCONNECT β€” this indicates the socket has disconnected and will occur in both normal, and in error states. 🌊

πŸ‘‘ AUTHOR πŸ‘‘

(c) Copyright 2007-2009 Nicholas Perez. Released under the GPL.


and that's the whole page, mwah πŸ’‹ this was perl v5.36.0, dated 2023-08-26, and it's the POE::C...Events(3pm) page from the User Contributed Perl Documentation. go forth and track those statuses, bestie πŸŽ€βœ¨πŸ¦‹