This site is deprecated; docs have moved to!


From the makers of InspIRCd.
Revision as of 11:29, 5 July 2006 by Om (Talk | contribs)

Jump to: navigation, search

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)