Changes between Version 22 and Version 23 of RoadMap


Ignore:
Timestamp:
11/30/10 15:23:12 (13 years ago)
Author:
Markus
Comment:

add libev to Event System

Legend:

Unmodified
Added
Removed
Modified
  • RoadMap

    v22 v23  
    4040== Event system ==
    4141
    42 The current non-asynchrous-clean status of the event system makes maintenance of certain OpenVPN components quite tenuous, such as mtcp.c. While the current event model is partially asynchronous, it is not sufficiently clean to allow certain features to be implemented such as concurrent multithreading or the ability to listen on multiple interfaces simultaneously. The limitations of current event system are also closely tied to OpenVPN's lack of multithreading. To get these features the current i/o event system needs to be revamped into a true asynchronous model. It might be worthwhile to look into using libevent as the underlying i/o event system for OpenVPN (libevent is used by memcached).
     42The current non-asynchrous-clean status of the event system makes maintenance of certain OpenVPN components quite tenuous, such as mtcp.c. While the current event model is partially asynchronous, it is not sufficiently clean to allow certain features to be implemented such as concurrent multithreading or the ability to listen on multiple interfaces simultaneously. The limitations of current event system are also closely tied to OpenVPN's lack of multithreading. To get these features the current i/o event system needs to be revamped into a true asynchronous model. It might be worthwhile to look into using one of the following i/o event systems for OpenVPN:
     43
     44  * [http://monkey.org/~provos/libevent/ libevent] (libevent is used by memcached).
     45  * [http://software.schmorp.de/pkg/libev.html libev] (cleaner api than libevent)
     46
    4347
    4448= OpenVPN 3.0: Development issues =