Class(序列事件解析)
<p><strong>Class</strong> </p>
<p>序列事件的追踪</p>
<p><strong>Class API 设置接口</strong>
<a href="https://github.com/qianyongjun895/HPIPS/tree/master/OpenMpi-Chain/ompi/class">https://github.com/qianyongjun895/HPIPS/tree/master/OpenMpi-Chain/ompi/class</a>
<strong>ompi_seq_tracker_range_t 定义</strong>
struct ompi_seq_tracker_range_t{</p>
<pre><code>opal_list_item_t super;
uint32_t seq_id_high;
uint32_t seq_id_low;</code></pre>
<p>};
typedef struct ompi_seq_tracker_range_t ompi_seq_tracker_range_t;
<strong>ompi_seq_tracker_t 定义</strong>
struct ompi_seq_tracker_t{</p>
<pre><code>opal_list_t seq_ids; //seqs_id 的列表内容
ompi_seq_tracker_range_t* seq_ids_current; //指向列表中最后一个位置的指针</code></pre>
<p>};</p>
<p>typedef struct ompi_seq_tracker_t ompi_seq_tracker_t;</p>
<p><strong>查找重复的序列函数</strong>
OMPI_DECLSPEC bool ompi_seq_tracker_check_duplicate(</p>
<pre><code>ompi_seq_tracker_t* seq_tracker,
uint32_t seq_id);</code></pre>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">seq_tracker</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">ompi_seq_tracker_t</td>
<td>序列的内容</td>
</tr>
<tr>
<td style="text-align: left;">seq_id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">uint32_t</td>
<td>输出的ID号</td>
</tr>
</tbody>
</table>
<p><strong>函数功能</strong>
在当前范围内查找重复的序列号。必须被称为 w/ matching 锁举。
<strong>项目插入函数</strong>
OMPI_DECLSPEC bool ompi_seq_tracker_check_duplicate(</p>
<pre><code>ompi_seq_tracker_t* seq_tracker,
uint32_t seq_id);
**参数:** </code></pre>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">seq_tracker</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">ompi_seq_tracker_t</td>
<td>序列的内容</td>
</tr>
<tr>
<td style="text-align: left;">seq_id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">uint32_t</td>
<td>输出的ID号</td>
</tr>
</tbody>
</table>
<p><strong>函数功能</strong>
将项目插入序列跟踪列表中, 将连续区域压缩为单个条目、
<strong>项目复制函数</strong>
OMPI_DECLSPEC void ompi_seq_tracker_copy(ompi_seq_tracker_t<em> dst, ompi_seq_tracker_t</em> src);
<strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">seq_tracker</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">ompi_seq_tracker_t</td>
<td>序列的内容</td>
</tr>
<tr>
<td style="text-align: left;">seq_id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">uint32_t</td>
<td>输出的ID号</td>
</tr>
</tbody>
</table>
<p><strong>函数功能</strong>
将状态从一个序列跟踪器列表复制到另一个。</p>