ptypes

ptypes Mercurial Source Tree


Root/doc/async.message.html

<html><!-- #BeginTemplate "/Templates/tmpl.dwt" --><!-- DW6 -->
<head>
<!-- #BeginEditable "doctitle" --> 
<title>PTypes: multithreading: message</title>
<!-- #EndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="styles.css">
</head>
<body bgcolor="#FFFFFF" leftmargin="40" marginwidth="40">
<p><a href="../index.html"><img src="title-21.png" width="253" height="39" alt="C++ Portable Types Library (PTypes) Version 2.1" border="0"></a> 
<hr size="1" noshade>
<!-- #BeginEditable "body" --> 
<p class="hpath"><a href="index.html">Top</a>: <a href="async.html">Multithreading</a>: 
message</p>
<blockquote> 
<pre class="lang">#include <pasync.h>

struct message {
    int id;
    pintptr param;
    pintptr result;

    message(int id, pintptr param = 0);
}</pre>
</blockquote>
<p>A <span class="lang">message</span> object or an object of a derived class 
can be used to post data to message queues (<a href="async.msgqueue.html">msgqueue</a>) 
or job queues (<a href="async.jobqueue.html">jobqueue</a>). Messages are distinguished 
by a ID that are defined in your application. The user message IDs can be in the 
range <span class="lang">0</span> through <span class="lang">INT_MAX</span>. Negative 
values are reserved for internal use by the library.</p>
<p>A simple message can also contain an additional parameter of type <span class="lang">pintptr</span>, 
which is an integer with a size equal to the size of a pointer on the given platform. 
For more complex message structures you can define classes derived from <span class="lang">message 
</span> - the message queue manager can work with any descendant class as well.</p>
<p><span class="def">message::message(int id, pintptr param = 0)</span> constructs 
a message object and assigns <span class="lang">id</span> and <span class="lang">param</span> 
fields. <span class="lang">param</span> is an additional field that can be used 
in your application at your own discretion.</p>
<p><span class="def">int message::id</span> -- this field contains a message ID 
assigned through the constructor.</p>
<p><span class="def">pintptr message::param</span> contains the optional parameter.</p>
<p><span class="def">pintptr message::result</span> -- through this field a message 
handler can return some simple answer to the sender of this message.</p>
<p class="seealso">See also: <a href="async.msgqueue.html">msgqueue</a>, <a href="async.jobqueue.html">jobqueue</a>, 
<a href="async.examples.html">Examples</a></p>
<!-- #EndEditable -->
<hr size="1">
<a href="../index.html" class="ns">PTypes home</a>
</body>
<!-- #EndTemplate --></html>
Source at commit 8edbcdac0d39 created 11 years 8 months ago.
By Nathan Adams, initial commit

Archive Download this file

Branches

Tags

Page rendered in 0.74505s using 11 queries.