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.
