📄 msgqdistgrplib.html
字号:
<html><head><!-- /vobs/wpwr/docs/vxworks/ref/msgQDistGrpLib.html - generated by refgen from msgQDistGrpLib.c --> <title> msgQDistGrpLib </title></head><body bgcolor="#FFFFFF"> <hr><a name="top"></a><p align=right><a href="libIndex.htm"><i>VxWorks API Reference : OS Libraries</i></a></p></blockquote><h1>msgQDistGrpLib</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>msgQDistGrpLib</strong> - distributed message queue group library (VxFusion option) </p></blockquote><h4>ROUTINES</h4><blockquote><p><p><b><a href="./msgQDistGrpLib.html#msgQDistGrpAdd">msgQDistGrpAdd</a>( )</b> - add a distributed message queue to a group (VxFusion option)<br><b><a href="./msgQDistGrpLib.html#msgQDistGrpDelete">msgQDistGrpDelete</a>( )</b> - delete a distributed message queue from a group (VxFusion option)<br><p></blockquote><h4>DESCRIPTION</h4><blockquote><p>This library provides the grouping facility for distributed message queues. Single distributed message queues can join one or more groups. A messagesent to a group is sent to all message queues that are members of thatgroup. A group, however, is prohibited from sending messages. Also, it isan error to call <b><a href="./msgQDistLib.html#msgQDistNumMsgs">msgQDistNumMsgs</a>( )</b> with a distributed message queue group ID.<p>Groups are created with symbolic names and identified by a unique ID,<br> <b>MSG_Q_ID</b>, as with normal message queues.<p>If the group is new to the distributed system, the group agreement protocol (GAP) is employed to determine a globally unique identifier. As part of the protocol's negotiation, all group databases throughout the system are updated.<p>The distributed message queue group library is initialized by calling<b><a href="./distLib.html#distInit">distInit</a>( )</b>.<p></blockquote><h4>AVAILABILITY</h4><blockquote><p>This module is distributed as a component of the unbundled distributedmessage queues option, VxFusion.<p></blockquote><h4>INCLUDE FILES</h4><blockquote><p><b>msgQDistGrpLib.h</b><p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./distLib.html#top">distLib</a></b>, <b><a href="./msgQDistGrpShow.html#top">msgQDistGrpShow</a></b><hr><a name="msgQDistGrpAdd"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>msgQDistGrpAdd( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>msgQDistGrpAdd( )</strong> - add a distributed message queue to a group (VxFusion option)</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>MSG_Q_ID msgQDistGrpAdd ( char * distGrpName, /* new or existing group name */ MSG_Q_ID msgQId, /* message queue to add to the group */ DIST_GRP_OPT options /* group message queue options - UNUSED */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine adds the queue identified by the argument <i>msgQId</i> to a groupwith the ASCII name specified by the argument <i>distGrpName</i>. <p>Multicasting is based on distributed message queue groups. If the group does not exist, one is created. Any number of message queues from different nodes can be bound to a single group. In addition, a message queue canbe added into any number of groups; <b><a href="./msgQDistGrpLib.html#msgQDistGrpAdd">msgQDistGrpAdd</a>( )</b> must be called for eachgroup of which the message queue is to be a member.<p>The <i>options</i> parameter is presently unused and must be set to 0.<p>This routine returns a message queue ID, <b>MSG_Q_ID</b>, that can be used directly by <b><a href="./msgQDistLib.html#msgQDistSend">msgQDistSend</a>( )</b> or by the generic <b><a href="./msgQLib.html#msgQSend">msgQSend</a>( )</b> routine. Do not call the<b><a href="./msgQLib.html#msgQReceive">msgQReceive</a>( )</b> or <b><a href="./msgQLib.html#msgQNumMsgs">msgQNumMsgs</a>( )</b> routines or their distributed counterparts,<b><a href="./msgQDistLib.html#msgQDistReceive">msgQDistReceive</a>( )</b> and <b><a href="./msgQDistLib.html#msgQDistNumMsgs">msgQDistNumMsgs</a>( )</b>, with a group message queue ID.<p>As with <b><a href="./msgQDistLib.html#msgQDistCreate">msgQDistCreate</a>( )</b>, use <b><a href="./distNameLib.html#distNameAdd">distNameAdd</a>( )</b> to add the group message queue ID returned by this routine to the distributed name database so that the ID can be used by tasks on other nodes.<p></blockquote><h4>AVAILABILITY</h4><blockquote><p>This routine is distributed as a component of the unbundled distributedmessage queues option, VxFusion.<p></blockquote><h4>RETURNS</h4><blockquote><p><b>MSG_Q_ID</b>, or NULL if there is an error.<p></blockquote><h4>ERRNO</h4><blockquote><p><p><dl><dt><b>S_msgQDistGrpLib_NAME_TOO_LONG</b><dd>The name of the group is too long.<dt><b>S_msgQDistGrpLib_INVALID_OPTION</b><dd>The <i>options</i> parameter is invalid.<dt><b>S_msgQDistGrpLib_DATABASE_FULL</b><dd>The group database is full.<dt><b>S_distLib_OBJ_ID_ERROR</b><dd>The <i>msgQId</i> parameter is not a distributed message queue.</dl></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./msgQDistGrpLib.html#top">msgQDistGrpLib</a></b>, <b><a href="./msgQLib.html#top">msgQLib</a></b>, <b><a href="./msgQDistLib.html#top">msgQDistLib</a></b>, <b><a href="./distNameLib.html#top">distNameLib</a></b><p><hr><a name="msgQDistGrpDelete"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries : Routines</i></a></p></blockquote><h1>msgQDistGrpDelete( )</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote> <p><strong>msgQDistGrpDelete( )</strong> - delete a distributed message queue from a group (VxFusion option)</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>STATUS msgQDistGrpDelete ( char * distGrpName, /* group containing the queue to be deleted */ MSG_Q_ID msgQId /* ID of the message queue to delete */ )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine deletes a distributed message queue from a group. <p></blockquote><h4>NOTE</h4><blockquote><p>For this release, it is not possible to remove a distributed messagequeue from a group.<p></blockquote><h4>AVAILABILITY</h4><blockquote><p>This routine is distributed as a component of the unbundled distributedmessage queues option, VxFusion.<p></blockquote><h4>RETURNS</h4><blockquote><p>ERROR, always.<p></blockquote><h4>ERRNO</h4><blockquote><p><b>S_distLib_NO_OBJECT_DESTROY</b><p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./msgQDistGrpLib.html#top">msgQDistGrpLib</a></b></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -