This site is deprecated; docs have moved to docs.inspircd.org!
Dumping ground for 2.0 thoughts
No, we arent writing 2.0 yet.
Trunk is not 2.0, it is 1.1.x, and 2.0.x might be years away - it took us 3 years to write 1.0.x, and it might take us 3 years again to write 2.0.x, and we don't live forever.
We will plan 2.0 properly, before we write a single piece of code (repeat 100 times and write on the blackboard a-la bart simpson)
Please contribute ideas below (general thoughts, pseudocode, etc)
Milestones to achieve before starting 2.0
- Meshed Linking Module
Major redesigns/recodes/rewrites for 2.0
- Abstract socket engine to deal with an abstract 'socket' baseclass independent from using socket(), connect(), read() etc. (eg, so a subclass could use zomgcompressed_socket(), zomgcompressed_connect() etc rather than the normal ones)
- Poll for writability where needed
- Overhaul inter-module API, make it throw around some abstract baseclass rather than char*, modules can subclass it and avoid unsafe casts when sending, receiving will require a cast, but a safe parent->child one (could use dynamic_cast<>, if we want to be really safe)