1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" />
7    <style type="text/css"><!--
8      span.static_style
9      {
10        font-size			: 8pt;
11        color				: white;
12        font-weight			: bold;
13        background			: #44f;
14        border-left			: solid 1px #aaf;
15        border-top			: solid 1px #aaf;
16        border-right		: solid 1px #00c;
17        border-bottom		: solid 1px #00c;
18        padding-left		: 2px;
19        padding-right		: 2px;
20      }
21
22      span.virtual_style
23      {
24        font-size			 : 8pt;
25        color				 : white;
26        font-weight			: bold;
27        background			: #0a0;
28        border-left			: solid 1px #0f0;
29        border-top			: solid 1px #0f0;
30        border-right		: solid 1px #060;
31        border-bottom		: solid 1px #060;
32        padding-left		: 2px;
33        padding-right		: 2px;
34      }
35
36      span.protected_style
37      {
38        font-size			 : 8pt;
39        color				 : white;
40        font-weight			: bold;
41        background			: #444;
42        border-left			: solid 1px #ccc;
43        border-top			: solid 1px #ccc;
44        border-right		: solid 1px #222;
45        border-bottom		: solid 1px #222;
46        padding-left		: 2px;
47        padding-right		: 2px;
48      }
49        --></style>
50<title>nn::os::SafeBlockingQueue</title>
51  </head>
52  <body>
53<h1><CODE>nn::os::SafeBlockingQueue</CODE> Class</h1>
54    <div class="section">
55<b>Header file: </b>nn/os.h</div>
56<h2>Syntax</h2>
57    <div class="section">
58      <pre class="definition">class SafeBlockingQueue : private nn::os::detail::BlockingQueueBase</pre>
59    </div>
60<h2>Description</h2>
61    <div class="section">
62<p>Class for handling blocking queues.</p><p>This class is essentially the same as <CODE><a href="../../../nn/os/BlockingQueue/Overview.html">BlockingQueue</a></CODE>, but with this class, priority inversion will never occur because it uses the <CODE><a href="../../../nn/os/Mutex/Overview.html">Mutex</a></CODE> class for thread synchronization. As a consequence, its performance might drop slightly.</p><!-- write here --></div>
63    <a name="function" id="function">
64<h2>Member Functions</h2>
65      <div class="section">
66        <table class="members">
67          <tr>
68            <td width="100">  </td>
69            <th>
70<a href="../../../nn/os/SafeBlockingQueue/SafeBlockingQueue.html"><CODE>SafeBlockingQueue</CODE></a>
71            </th>
72<td>Constructor.</td>
73          </tr>
74          <tr>
75            <td width="100">  </td>
76            <th>
77<a href="../../../nn/os/SafeBlockingQueue/~SafeBlockingQueue.html"><CODE>~SafeBlockingQueue</CODE></a>
78            </th>
79<td>Destructor.</td>
80          </tr>
81          <tr>
82            <td width="100">  </td>
83            <th>
84<a href="../../../nn/os/SafeBlockingQueue/Initialize.html"><CODE>Initialize</CODE></a>
85            </th>
86<td>Initializes a blocking queue using the specified buffer and size.</td>
87          </tr>
88          <tr>
89            <td width="100">  </td>
90            <th>
91<a href="../../../nn/os/SafeBlockingQueue/TryInitialize.html"><CODE>TryInitialize</CODE></a>
92            </th>
93<td>Initializes a blocking queue using the specified buffer and size.</td>
94          </tr>
95          <tr>
96            <td width="100">  </td>
97            <th>
98<a href="../../../nn/os/SafeBlockingQueue/Finalize.html"><CODE>Finalize</CODE></a>
99            </th>
100<td>Destroys a blocking queue.</td>
101          </tr>
102          <tr>
103            <td width="100">  </td>
104            <th>
105<a href="../../../nn/os/SafeBlockingQueue/Enqueue.html"><CODE>Enqueue</CODE></a>
106            </th>
107<td>Inserts an element at the end of the queue.</td>
108          </tr>
109          <tr>
110            <td width="100">  </td>
111            <th>
112<a href="../../../nn/os/SafeBlockingQueue/TryEnqueue.html"><CODE>TryEnqueue</CODE></a>
113            </th>
114<td>Tries to insert an element at the end of the queue.</td>
115          </tr>
116          <tr>
117            <td width="100">  </td>
118            <th>
119<a href="../../../nn/os/SafeBlockingQueue/Jam.html"><CODE>Jam</CODE></a>
120            </th>
121<td>Inserts an element at the front of the queue.</td>
122          </tr>
123          <tr>
124            <td width="100">  </td>
125            <th>
126<a href="../../../nn/os/SafeBlockingQueue/TryJam.html"><CODE>TryJam</CODE></a>
127            </th>
128<td>Tries to insert an element at the front of the queue.</td>
129          </tr>
130          <tr>
131            <td width="100">  </td>
132            <th>
133<a href="../../../nn/os/SafeBlockingQueue/Dequeue.html"><CODE>Dequeue</CODE></a>
134            </th>
135<td>Removes the first element from the front of the queue.</td>
136          </tr>
137          <tr>
138            <td width="100">  </td>
139            <th>
140<a href="../../../nn/os/SafeBlockingQueue/TryDequeue.html"><CODE>TryDequeue</CODE></a>
141            </th>
142<td>Removes the first element from the front of the queue.</td>
143          </tr>
144          <tr>
145            <td width="100">  </td>
146            <th>
147<a href="../../../nn/os/SafeBlockingQueue/GetFront.html"><CODE>GetFront</CODE></a>
148            </th>
149<td>Gets the element at the front of the queue.</td>
150          </tr>
151          <tr>
152            <td width="100">  </td>
153            <th>
154<a href="../../../nn/os/SafeBlockingQueue/TryGetFront.html"><CODE>TryGetFront</CODE></a>
155            </th>
156<td>Gets the element at the front of the queue.</td>
157          </tr> </table>
158      </div>
159    </a>
160<h2>Class Hierarchy</h2>
161    <div class="section">
162<p class="hierarchy"><span>ADLFireWall::NonCopyable</span><br />  nn::os::detail::BlockingQueueBase<br />    <b>nn::os::SafeBlockingQueue</b>
163      </p>
164    </div>
165<h2>Revision History</h2>
166    <div class="section">
167      <dl class="history">
168        <dt>2010/01/07</dt>
169<dd>Initial version.<br />
170        </dd>
171      </dl>
172    </div>
173  <hr><p>CONFIDENTIAL</p></body>
174</html>