各ノードが一定の間隔で送信する、水中通信ネットワーク用の簡単なTDMAプロトコルをシミュレートしたいと考えています。 UnetStackでこれを実装するにはどうすればよいですか?UnetStackでのTDMAの実装
UnetStack document on MACには、単純なMACプロトコルとスロットルドMACプロトコルの例がありますが、定期的な間隔でノードを送信するにはどうすればよいですか?
各ノードが一定の間隔で送信する、水中通信ネットワーク用の簡単なTDMAプロトコルをシミュレートしたいと考えています。 UnetStackでこれを実装するにはどうすればよいですか?UnetStackでのTDMAの実装
UnetStack document on MACには、単純なMACプロトコルとスロットルドMACプロトコルの例がありますが、定期的な間隔でノードを送信するにはどうすればよいですか?
UnetStackを使用して書かれた代表的なエージェントには、new behaviors to itselfを追加できます。
TDMAのようなプロトコルでノードが必要とする定期的な間隔で送信するために、エージェントはPHY agentに定期的に送信するように指示できます。これはティッカーの振る舞いを使って実装できます。
TickerBehaviorは、呼び出しの間に指定された遅延で繰り返し実行されます。 TickerBehaviorは、このコードを使用してエージェントに追加することができます。
add new TickerBehavior(1000*slotlength, {
phy << new TxFrameReq(to: nodeAddress, type: Physical.DATA)
})
slotlength
は秒である
とnodeAddress
はあなたに情報を送信しようとしているノードのアドレスです。 TxFrameReq you can check out the documentationの詳細については、こちらをご覧ください。