summaryrefslogtreecommitdiff
path: root/examples/Connection/blocking/README
blob: c7763e3ed0457ff6c3fe6e3f4764191096babaea (plain)
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.