зеркало из https://github.com/mozilla/gecko-dev.git
a4a3940c86 | ||
---|---|---|
.. | ||
Makefile | ||
README | ||
bench.c | ||
bench.h | ||
client.c | ||
errexit.c | ||
http.c | ||
imap4.c | ||
mailclient.dsp | ||
mailclient.mak | ||
main.c | ||
parse.c | ||
pish.h | ||
pop3.c | ||
smtp.c | ||
sysdep.c | ||
sysdep.h | ||
timefunc.c | ||
wmap.c |
README
To build on a new OS, simply edit the Makefile to reflect your compilers and options. Everything currently builds on Linux-2.1/2.2, Solaris-2.5.1/2.6, HPUX-11 IRIX-6.5, AIX-4.2, OSF1-4.0 and NT-4. Operating systems without POSIX threads (or NT threads) will be limited. NT uses ../autobuild.bat, *.dsw, and *.mak. Perl is imported from a common build area. Notes on protocol plug in API: Fundamental data structures: event_timer_t Holds the critical results information. This gets added up over all the block in all the threads periodically during the test. cmd_stats_t This holds all the dynamic information including event timers, and state for sequencing the command block (like next login). mail_command_t This hold all the read only information about a command block. thread_context_t All the information about each thread. There is one thread per server connection. range_t Integer range based on a starting number and a length. This can be sequentially or randomly returned. This needs to be adjusted for each command thread. protocol_t This defines the callbacks and shared information for each protocol. Adding a new protocol: Create all the handler functions. Look at smtp.c for an example Add the entry to g_protocols in main.c Add it to the makefiles Design issues: Timing accuracy Scalability (current limit is 26000 clients/machine) Extendibility Memory use (limits scalability) Result data efficiency