Msg File src/inet/linklayer/lmac/LMacHeader.msg
Name | Type | Description |
---|---|---|
LMacType | enum |
TODO split to 2 enums: for packets / for self messages |
LMacHeaderBase | class |
Base class for LMac headers. |
LMacControlFrame | class |
Control Frame for LMac. Frame size is configurable in the MAC layer. |
LMacDataFrameHeader | class |
Dataframe header for LMac. Frame size is configurable in the MAC layer. |
Source code
// A LMAC packet header definition // // @author Anna Foerster import inet.common.INETDefs; import inet.common.packet.chunk.Chunk; import inet.linklayer.common.MacAddress; namespace inet; //TODO split to 2 enums: for packets / for self messages enum LMacType { LMAC_CONTROL = 167; // packet type LMAC_TIMEOUT = 168; LMAC_WAKEUP = 169; LMAC_SEND_DATA = 170; LMAC_SETUP_PHASE_END = 171; LMAC_CHECK_CHANNEL = 172; LMAC_SOMEBODY = 173; LMAC_DATA = 174; // packet type LMAC_START_LMAC = 175; LMAC_SEND_CONTROL = 176; }; // // Base class for ~LMac headers. // class LMacHeaderBase extends FieldsChunk { MacAddress srcAddr; MacAddress destAddr; LMacType type; int mySlot; // the node's current slot number MacAddress occupiedSlots[]; // currently known occupied slots } // // Control Frame for ~LMac. Frame size is configurable // in the MAC layer. // class LMacControlFrame extends LMacHeaderBase { } // // Dataframe header for ~LMac. Frame size is configurable // in the MAC layer. // class LMacDataFrameHeader extends LMacHeaderBase { int networkProtocol = -1; }