Nmap Development mailing list archives

Re: Call for testers: nsock-engines experimental branch


From: Henri Doreau <henri.doreau () greenbone net>
Date: Sun, 14 Aug 2011 18:57:47 +0200

Hello,

I've finished the refactoring of nsock-engines. The memory consumption
problem I mentioned in a previous email[1] is now fixed and
performances are good. I've also tried to make the engines share more
code.

I have tested it as much as possible (the ncat test suite was really
helpful there!) and the current version seems to behave pretty well.
This new version was extensively tested on Linux and FreeBSD and was
also reported to compile and run well on Windows.

A little writeup about nsock-engines is available[2] and I've updated
my benchmarks[3].

To quickly sum up: this re-implementation of nsock doesn't change the
external API of the library but introduces a fundamental change in the
internal design. IO events management is now performed by an "engine",
selected at runtime (design pattern also referred to as "strategy").
In case an efficient mechanism (like epoll on linux) is available on
the operating system, then it'll be leveraged (provided there is an
engine for it), otherwise nsock falls back on select(2).

Feedback welcome on both the code and the presentation pages.


2011/7/23 Fyodor <fyodor () insecure org>:
Do you know if Mac offers epoll or some similar system for avoiding
the limitations of select in mass socket operations?

Unlike what I thought it seems that poll(2) is also available on Mac.
A poll-based engine would then be the most interesting choice for a
new engine.


Regards.


[1] http://seclists.org/nmap-dev/2011/q3/345
[2] http://labs.unix-junkies.org/nsock_engines.html
[3] http://labs.unix-junkies.org/nsock-bench/index.html

-- 
Henri Doreau |  Greenbone Networks GmbH  |  http://www.greenbone.net
Neuer Graben 17, 49074 Osnabrueck, Germany | AG Osnabrueck, HR B 202460
Executive Directors: Lukas Grunwald, Dr. Jan-Oliver Wagner
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/


Current thread: