IRCd:Future Directions
Here is a list of several possible future enhancements or changes to ircd-darenet.
Refactoring
Changes to the code structure to improve maintainability.
- A tuple-queue system
- Modularized commands
- A more modularized abstracted database
- Dynamically loadable modules
- A unified mode parser
- Better logging infrastructure, with simplified and powerful configuration
- Updated configuration feature handling
- New event subsystem
- Unified memory allocation
- Unit tests
- Clean up code responsibilities
- Deferred client freeing
- Phase out silently failing functions
Performance improvements
- Trie-based lookups
New features
The term "feature" is used liberally here; anything that changes the way the network works is a feature by some definition. This includes, for example, dealing with desynchronized servers, handling net joins, managing users and channels, etc.
- Modularized protocol handlers (both sending and receiving)
- Remote Includes
- Enhanced Server Notices
- Binary server-to-server protocol
- Persistent clients
