1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
Presently, this directory contains only one example application for
SPIPEs. The test source code is contained in SPIPE-acceptor.h and
SPIPE-connector.h.
The SPIPE-acceptor example illustrates how named pipes are used on NT.
Once the server establishes a connection to a single client, it spawns
a thread pool to handle incoming requests via the proactor event loop.
That is, a separate thread from the pool is used to process each
message sent by a client. The size of the thread pool can be
specified by command-line arguments. This example leverages the
queueing performed by the NT kernel to trivially implement a thread
pool architecture.
test_spipe_acceptor has the following command-line arguments:
test_spipe_acceptor -t <threads>
<threads> specifies the size of the thread-pool running in the
proactor event loop.
Here's how to run the tests:
% test_spipe_acceptor -t 1000000
starting up daemon test_sock_acceptor
Opening acepipe
hello
% test_spipe_connector
starting up daemon test_sock_connector
Opening acepipe
activating 5
please enter input..: hello
There are a number of other options that you can provide. Please see
the source code for details.
|