Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 166

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>9.6 Ports</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="bitarray.html#section.chunks.bitarrays">&lt;&lt; Prev</A></TD><TD><A href="node11.html">- Up -</A></TD><TD><A href="lock.html#section.chunks.locks">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="section.chunks.ports"><H2><A name="section.chunks.ports">9.6 Ports</A></H2><P> The module <A name="label631"></A><SPAN class="index"><CODE>Port</CODE></SPAN> contains procedures operating on ports. </P><DL><DT><A name="label632"></A><SPAN class="index"><CODE>IsPort</CODE></SPAN> <A name="label634"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Port<SPAN class="keyword">.</SPAN>is&nbsp;</CODE><CODE>+<I>X</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>X</I></CODE> is a port. </P></DD><DT id="port.new"><A name="label635"></A><SPAN class="index"><CODE>NewPort</CODE></SPAN> <A name="label637"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Port<SPAN class="keyword">.</SPAN>new&nbsp;</CODE><CODE>?<I>Xs</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>Port</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns a new port, together with its associated stream&nbsp;<CODE><I>Xs</I></CODE>. </P></DD><DT><A name="label638"></A><SPAN class="index"><CODE>Send</CODE></SPAN> <A name="label639"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Port<SPAN class="keyword">.</SPAN>send&nbsp;</CODE><CODE>+<I>Port</I></CODE><CODE>&nbsp;</CODE><CODE><I>X</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>sends <CODE><I>X</I></CODE> to the port <CODE><I>Port</I></CODE>: The stream pointed to by <CODE><I>Port</I></CODE> is unified with <CODE><I>X</I></CODE><CODE><SPAN class="keyword">|</SPAN>_</CODE> (in a newly created thread), and the pointer advances to the stream's new tail. </P></DD><DT><A name="label640"></A><SPAN class="index"><CODE>SendRecv</CODE></SPAN> <A name="label641"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Port<SPAN class="keyword">.</SPAN>sendRecv&nbsp;</CODE><CODE>+<I>Port</I></CODE><CODE>&nbsp;</CODE><CODE><I>X</I></CODE><CODE>&nbsp;</CODE><CODE><I>Y</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>sends the pair <CODE><I>X</I></CODE><CODE><SPAN class="keyword">#</SPAN></CODE><CODE><I>Y</I></CODE> to the port <CODE><I>Port</I></CODE>: The stream pointed to by <CODE><I>Port</I></CODE> is unified with <CODE><I>X</I></CODE><CODE><SPAN class="keyword">#</SPAN></CODE><CODE><I>Y</I></CODE><CODE><SPAN class="keyword">|</SPAN>_</CODE> (in a newly created thread), and the pointer advances to the stream's new tail. </P><P>The argument <CODE><I>X</I></CODE> is commonly used as message to be sent, while <CODE><I>Y</I></CODE> serves as reply to that message. </P></DD></DL><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="bitarray.html#section.chunks.bitarrays">&lt;&lt; Prev</A></TD><TD><A href="node11.html">- Up -</A></TD><TD><A href="lock.html#section.chunks.locks">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys&nbsp;Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>