[Nel] Some questions about network implementation

Dim Segebart zager@teleaction.com
Wed, 22 Nov 2000 17:12:32 +0100


Hello !
Today I have found very interesting library from SGI
(http://oss.sgi.com/projects/state-threads/)
It's based on Netscape Portable Runtime library (NSPR)
and amed on creating high perfomance network applications.
Look at documentation
(http://oss.sgi.com/projects/state-threads/docs/st.html)
>From documentation:

It is contained in 8 source files as opposed to more than 400, but
provides all the
functionality that is needed to write efficient IAs on UNIX-like
platforms.

                     NSPR       State Threads
 Lines of code     ~150,000      ~3000

 Dynamic library size
(debug version)
 IRIX               ~700 KB   ~60 KB
 Linux             ~900 KB  ~70 KB

State Threads is an application library which provides a foundation for
writing Internet Applications. To summarize, it has the following
advantages:

     It allows the design of fast and highly scalable applications. An
application will scale well with both load and number of CPUs.
     It greatly simplifies application programming and debugging
because, as a rule, no mutual exclusion locking is necessary and the
entire application is free to use static variables and non-reentrant
library functions.

The library's main limitation:
     All I/O operations on sockets must use the State Thread library's
I/O functions because only those functions perform thread scheduling and
prevent the application's
     processes from blocking.


I'm just wonder, what is the implimenantion design of NeL server-side
according to the above document ?