Development/CAP
From Inspire IRCd (InspIRCd)
| | This page has been marked as Development Material. Information posted here may be subject to change and/or only available in unstable versions of InspIRCd. |
CAP Implementation
Introduction
CAP is a method of interactive negotiation of server features. Similar in idea to PROTOCTL, except that it is a two sided lockstep affair which blocks the client's connection until completed. This page documents how we shall implement CAP in InspIRCd.
CAP can coexist alongside PROTOCTL.
Ideas
CAP requires modules to have their functionality enabled or disabled by CAP, similar in some ways to PROTOCTL, but on a whole different level. With PROTOCTL, we can simply PreCOmmand it in each module and look for the relevant token. With CAP, that would suck.
My suggestion is that we create a provider module (m_cap) which then calls an event (?) on requested negotiation.

















