ITRON 4.0 におけるメールボックスとデータキューの違い
メールボックス | データキュー | |
---|---|---|
データ構造 | リンクリスト | リングバッファ |
送受信メッセージの複製作成 | なし | あり |
送信待ち
メールボックス | データキュー | |
---|---|---|
送信待ち行列 | ない | ある |
ポーリング式送信関数 | ない | psnd_dtq() |
メールボックスは送信側でメモリを確保さえできれば無限にメールボックスにポストすることができる。一方のデータキューはリングバッファが満杯になったタイミングで送信できなくなる(送信待ちに遷移する)。
受信待ち
メールボックス | データキュー | |
---|---|---|
受信待ち行列 | ある | ある |
無限待ち受信関数 | rcv_mbx() | rcv_dtq() |
ポーリング式受信関数 | prcv_mbx() | prcv_dtq() |
受信側はメールボックスやデータキューが空のときに「待ち状態に遷移する」か「実行状態のまますぐに関数抜ける」
か選択する必要がある。
ITRON 3.0 では『リンクリストで実装したメールボックス』と『リングバッファーで実装したメールボックス』の2種類が存在した。 ITRON 4.0 ではメールボックスはリンクリストのみとなり、リングバッファ方式のデータキューの仕様が追加された。