New Message

From TinyOS Wiki
Revision as of 17:51, 16 August 2010 by Mortenthansen (talk | contribs) (scenarios added)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Scenarios

Scenario 1

We have a single communication stack where the header size depends on the Ieee154 security mode and addressing length.

Layers:

App -> Route -> Ieee154 -> Radio

App internals:

Set Ieee154 security mode on packet
Send to route

Route internals:

Set Ieee154 addr mode on packet
Send to Ieee154

Scenario 2

We have a split communication with two radios sending different packet formats. In this case we have to assume that the routing layer knows about its underlying layers in order to transfer a packet from Ieee154 format to the Proprietary format and vice versa. This means that the routing layer can choose one of the two underlying formats as its standard one, and expose that interface to the upper layers. Lets say it chooses Ieee154 as its standard format and for simplicity store all packets internally as Ieee154 packets (alternatively it can use a flag in the metadata to indicate the format of the packet stored).

Layers:

App -> Route -> Ieee154 -> Radio1
         +----> ProprietaryPacket -> Radio2

App internals:

Set Ieee154 security mode on packet (from the App it looks like the routing layer sends Ieee154 packets).
Send to route

Route internals:

if send on Ieee154
    Set Ieee154 addr mode on packet
    Send to Ieee154
else
    Set proprietary addr mode on packet
    Send to ProprietaryPacket