C2A_Core
PacketList 構造体

パケットリスト本体 [詳解]

#include <packet_list.h>

PacketList 連携図
[凡例]

フィールド

uint16_t total_nodes_
 全ノード数 (static 確保) [詳解]
 
uint32_t executed_nodes_
 実行(コマンド) or 配送(テレメ)されたノード数 // FIXME: TODO: テレメのときもカウントアップしてるか確認 [詳解]
 
uint16_t active_nodes_
 現在片方向リストに入っているノード数 [詳解]
 
uint16_t packet_size_
 PL_Node->packet の型サイズ [詳解]
 
PL_PACKET_TYPE packet_type_
 保持する packet の型情報.PL_PACKET_TYPE を参照 [詳解]
 
PL_Nodepl_node_stock_
 確保されている PL_Node 領域(配列)全体の先頭 [詳解]
 
void * packet_stock_
 確保されている packet 領域(配列)全体の先頭 [詳解]
 
PL_Nodeinactive_list_head_
 確保されている領域の内,使っていないものの先頭 [詳解]
 
PL_Nodeactive_list_head_
 確保されている領域の内,使っているものの先頭 [詳解]
 
PL_Nodeactive_list_tail_
 確保されている領域の内,使っているものの末端 [詳解]
 

詳解

パケットリスト本体

覚え書き
データ構造としては 片方向リスト 初期化では外部で事前に領域だけ確保しておいた PL_Node 配列の先頭ポインタを stock に保存して連結リスト化, inactive_list_head にもコピーする. 使うときには inactive_list から PL_Node 一つを取り出して, その領域を active_list に挿入する. なおメンバーは全て private

packet_list.h72 行目に定義があります。

フィールド詳解

◆ active_list_head_

PL_Node* active_list_head_

確保されている領域の内,使っているものの先頭

packet_list.h83 行目に定義があります。

◆ active_list_tail_

PL_Node* active_list_tail_

確保されている領域の内,使っているものの末端

packet_list.h84 行目に定義があります。

◆ active_nodes_

uint16_t active_nodes_

現在片方向リストに入っているノード数

packet_list.h76 行目に定義があります。

◆ executed_nodes_

uint32_t executed_nodes_

実行(コマンド) or 配送(テレメ)されたノード数 // FIXME: TODO: テレメのときもカウントアップしてるか確認

packet_list.h75 行目に定義があります。

◆ inactive_list_head_

PL_Node* inactive_list_head_

確保されている領域の内,使っていないものの先頭

packet_list.h82 行目に定義があります。

◆ packet_size_

uint16_t packet_size_

PL_Node->packet の型サイズ

packet_list.h77 行目に定義があります。

◆ packet_stock_

void* packet_stock_

確保されている packet 領域(配列)全体の先頭

packet_list.h81 行目に定義があります。

◆ packet_type_

PL_PACKET_TYPE packet_type_

保持する packet の型情報.PL_PACKET_TYPE を参照

packet_list.h78 行目に定義があります。

◆ pl_node_stock_

PL_Node* pl_node_stock_

確保されている PL_Node 領域(配列)全体の先頭

packet_list.h80 行目に定義があります。

◆ total_nodes_

uint16_t total_nodes_

全ノード数 (static 確保)

packet_list.h74 行目に定義があります。


この構造体詳解は次のファイルから抽出されました: