Readme
1/*! \mainpage PQueueChannel test program
2
3\section into Introduction
4This application is a tool for testing the PQueueChannel class in pwlib. One
5use of this class would be as a buffer between a sound card (requiring 320
6bytes of data every 20ms) and a codec (which generates 480 bytes of data every
730ms).
8
9\section arch Architecture
10
11The code contains one class, QueueProcess, which contains three threads of
12operation. The threads are
13\li generates data, and places it on the queue
14\li reads in data, grabbing bytes from the queue
15\li the core process, which evaluates the command line and launches the
16 generate and read threads.
17
18The generate process starts running, and places several blocks of data on
19the queue. In this way, there is a buffer on the queue of data.
20
21The default parameters are such that the number of bytes (per second)
22placed on the queue is identical to the number of bytes (per second)
23removed from the queue. Consequently, the read process should never catch
24up on the write process, (which would empty the queue to zero bytes).
25
26\section parms Command line parameters
27
28The command line parameters are as you would expect from a pwlib
29application,
30
31 \code -h \endcode report help message
32
33 \code -v \endcode report current version
34
35 \code -t \endcode specify log level, use more times for more detail
36
37 \code -o \endcode logfile set the name of the log file.
38
39\section typical Sample command line
40
41With the command line
42\code queue -i 1000 -ttt -o log.txt \endcode
43
44\li the write process puts (every 20ms) 320 bytes on the queue
45\li the read process pulls (every 30ms) 480 bytes from the queue
46
47and this repeats 1000 times. A log file is written to disk describing when
48each read and write happens.
49
50*/