This site is deprecated; docs have moved to docs.inspircd.org!

Difference between revisions of "2.0"

From the makers of InspIRCd.
Jump to: navigation, search
Line 16: Line 16:
 
<li>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)</li>
 
<li>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)</li>
 
<li>Poll for writability where needed</li>
 
<li>Poll for writability where needed</li>
<li>Overhaul inter-module API, make it throw around some abstract baseclass rather than char*, modules can subclass it and avoid unsafe casts when sending, recieving will require a cast, but a safe parent->child one (could use dynamic_cast<>, if we want to be really safe)</li>
+
<li>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)</li>
 
</ul>
 
</ul>

Revision as of 10:29, 5 July 2006

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)