Imported Upstream version 1.57.0
[platform/upstream/boost.git] / doc / html / boost_asio / reference / SignalSetService.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Signal set service requirements</title>
5 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="../../boost_asio.html" title="Boost.Asio">
8 <link rel="up" href="../reference.html" title="Reference">
9 <link rel="prev" href="SignalHandler.html" title="Signal handler requirements">
10 <link rel="next" href="SocketAcceptorService.html" title="Socket acceptor service requirements">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
15 <td align="center"><a href="../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="SignalHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SocketAcceptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="boost_asio.reference.SignalSetService"></a><a class="link" href="SignalSetService.html" title="Signal set service requirements">Signal set service
28       requirements</a>
29 </h3></div></div></div>
30 <p>
31         A signal set service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
32         object service</a>, as well as the additional requirements listed below.
33       </p>
34 <p>
35         In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
36         a signal set service class, <code class="computeroutput"><span class="identifier">a</span></code>
37         denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
38         <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
39         <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
40         denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
41         <code class="computeroutput"><span class="identifier">n</span></code> denotes a value of type
42         <code class="computeroutput"><span class="keyword">int</span></code>, and <code class="computeroutput"><span class="identifier">sh</span></code>
43         denotes a value meeting <a class="link" href="SignalHandler.html" title="Signal handler requirements"><code class="computeroutput"><span class="identifier">SignalHandler</span></code></a> requirements.
44       </p>
45 <div class="table">
46 <a name="boost_asio.reference.SignalSetService.t0"></a><p class="title"><b>Table&#160;28.&#160;SignalSetService requirements</b></p>
47 <div class="table-contents"><table class="table" summary="SignalSetService requirements">
48 <colgroup>
49 <col>
50 <col>
51 <col>
52 </colgroup>
53 <thead><tr>
54 <th>
55                 <p>
56                   expression
57                 </p>
58               </th>
59 <th>
60                 <p>
61                   return type
62                 </p>
63               </th>
64 <th>
65                 <p>
66                   assertion/note<br> pre/post-condition
67                 </p>
68               </th>
69 </tr></thead>
70 <tbody>
71 <tr>
72 <td>
73                 <p>
74                   <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
75                 </p>
76               </td>
77 <td>
78               </td>
79 <td>
80                 <p>
81                   From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
82                   requirements.<br>
83                 </p>
84               </td>
85 </tr>
86 <tr>
87 <td>
88                 <p>
89                   <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
90                 </p>
91               </td>
92 <td>
93               </td>
94 <td>
95                 <p>
96                   From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
97                   requirements. Implicitly clears the registered signals as if by
98                   calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
99                   <span class="identifier">ec</span><span class="special">)</span></code>,
100                   then implicitly cancels outstanding asynchronous operations as
101                   if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">)</span></code>.
102                 </p>
103               </td>
104 </tr>
105 <tr>
106 <td>
107                 <p>
108 </p>
109 <pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
110 </pre>
111 <p>
112                 </p>
113               </td>
114 <td>
115                 <p>
116                   <code class="computeroutput"><span class="identifier">error_code</span></code>
117                 </p>
118               </td>
119 <td>
120               </td>
121 </tr>
122 <tr>
123 <td>
124                 <p>
125 </p>
126 <pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">remove</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
127 </pre>
128 <p>
129                 </p>
130               </td>
131 <td>
132                 <p>
133                   <code class="computeroutput"><span class="identifier">error_code</span></code>
134                 </p>
135               </td>
136 <td>
137               </td>
138 </tr>
139 <tr>
140 <td>
141                 <p>
142 </p>
143 <pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
144 </pre>
145 <p>
146                 </p>
147               </td>
148 <td>
149                 <p>
150                   <code class="computeroutput"><span class="identifier">error_code</span></code>
151                 </p>
152               </td>
153 <td>
154               </td>
155 </tr>
156 <tr>
157 <td>
158                 <p>
159 </p>
160 <pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
161 </pre>
162 <p>
163                 </p>
164               </td>
165 <td>
166                 <p>
167                   <code class="computeroutput"><span class="identifier">error_code</span></code>
168                 </p>
169               </td>
170 <td>
171               </td>
172 </tr>
173 <tr>
174 <td>
175                 <p>
176                   <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
177                   <span class="identifier">sh</span><span class="special">);</span></code>
178                 </p>
179               </td>
180 <td>
181                 <p>
182                   <code class="computeroutput"><span class="keyword">void</span></code>
183                 </p>
184               </td>
185 <td>
186                 <p>
187                   pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
188                   <br> Initiates an asynchronous operation to wait for the delivery
189                   of one of the signals registered for the signal set <code class="computeroutput"><span class="identifier">b</span></code>. The operation is performed
190                   via the <code class="computeroutput"><span class="identifier">io_service</span></code>
191                   object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
192                   and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
193                   operation</a> requirements.<br> <br> If the operation completes
194                   successfully, the <code class="computeroutput"><span class="identifier">SignalHandler</span></code>
195                   object <code class="computeroutput"><span class="identifier">sh</span></code> is invoked
196                   with the number identifying the delivered signal. Otherwise it
197                   is invoked with <code class="computeroutput"><span class="number">0</span></code>.
198                 </p>
199               </td>
200 </tr>
201 </tbody>
202 </table></div>
203 </div>
204 <br class="table-break">
205 </div>
206 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
207 <td align="left"></td>
208 <td align="right"><div class="copyright-footer">Copyright &#169; 2003-2014 Christopher M. Kohlhoff<p>
209         Distributed under the Boost Software License, Version 1.0. (See accompanying
210         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
211       </p>
212 </div></td>
213 </tr></table>
214 <hr>
215 <div class="spirit-nav">
216 <a accesskey="p" href="SignalHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SocketAcceptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
217 </div>
218 </body>
219 </html>