[NeoStats-Devel] Protocol updates

"M" <[email protected]>
Newsgroups gmane.comp.neostats.devel
Message-ID <[email protected]>
I am currently in the process of adding more core side protocol support to
further reduce the overhead on protocol modules. Once complete, protocol
modules will become more "modifiers" of the core support rather than having
to implement all of the protocol code themselves. This is an extension of
changes made throughout the 3.0 series to make protocol coding easier and
represents the final set of changes planned for 3.0 protocol support.

The current changes are in two areas:

Mode support:

Some modes are common to all ircds so these are now provided core side with
the protocol specific mode table becoming additional options rather than
authoritive. Before anyone cries "my ircd redefines chanop as some weird
mode which breaks every standard for IRC ever written", the system also
provides for this since by providing the mode you wish to override and a
zero value for the mode flag will effectively cancel the default setting. No
ircd currently needs this, but neostats is thus future proofed against the
possibility with the new system.

It is limited in what it can offer protocol modules but provides a base for
future extensions if necessary.

Send command support:

NeoStats will be able to access the messages and tokens required to send
ircd commands so can provide default functions for the majority of ircds
that support standard protocols. This will reduce the code overhead for all
ircds with the obvious exception of IRCu P10 and derivatives. 


In addition, the entire system is currently optional. A protocol module can
choose to manage itself completely by not providing the symbols needed by
NeoStats to generate the core side support. 

At present, Unreal 3.2 is the only protocol to utilise the new system and
does so in a very minor manner. Other protocols will be ported in due course
but the optional nature of the system means that both the original 3.0
format and the work in progress one will live happily together for the time
being.

Once complete, we have the ideal opportunity to extend NeoStats ircd message
processing to the maximum possible range with the least amount of code. Bug
fixing of this will mainly involve providing appropriate protocol module
overrides where a protocol differs from the expected message syntax. I am
confident that this will help us to provide one of the most versatile and
comprehensive protocol support systems in any services package.

Once IRCu changes are complete and integrated, there will likely be another
set of changes related to IRCu P10 so that we can provide a similar
simplistic protocol support for this rather different approach to IRCd.

Mark.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.