[OpenSIPS-Devel] RFC: new opensips design
Dan Pascu
dan at ag-projects.com
Mon Nov 10 20:13:00 CET 2008
On Monday 10 November 2008, Bogdan-Andrei Iancu wrote:
> > 1. I know of no asynchronous database API, so in real life this
> > cannot be applied to a database connection. Other mechanisms need to
> > be employed with them.
>
> I totally agree - this will be one of the challenges - to transform
> all the synchronous I/Os we have now is async ones ...
Apparently there are async drivers for mysql (even libmysqlclient can be
used in async mode with some limitations though). Same seems to be true
for postgres.
> > 2. Context switching is completely unnecessary, as long as the
> > message you process is embodied in an object/structure that contains
> > all the relevant information about that message. When an event
> > happens and you get a notification and the associated object you just
> > operate on it. The classical context switching that is necessary with
> > multithreading or system processes it not needed here.
>
> By context switching I was refering to the switching (inside the same
> thread/process) to a different SIP message to be processed (and its
> context) - not thread/process switching.
I wasn't speaking of thread context switching either. But the context
switching you speak of is unnecessary as long as the message contains all
the related data. All you need when there is data on some input is a
callback and a pointer to the message structure associated with that
input. While you can name it context switching, there is no context to
save/restore in the usual sense.
--
Dan
More information about the Devel
mailing list