jist.swans.mac
Class MacMessage.Data

java.lang.Object
  extended by jist.swans.mac.MacMessage
      extended by jist.swans.mac.MacMessage.Data
All Implemented Interfaces:
JistAPI.Timeless, Message
Enclosing class:
MacMessage

public static class MacMessage.Data
extends MacMessage

An 802_11 Data packet.

Since:
SWANS1.0
Author:
Rimon Barr <barr+jist@cs.cornell.edu>

Nested Class Summary
 
Nested classes/interfaces inherited from class jist.swans.mac.MacMessage
MacMessage.Ack, MacMessage.Cts, MacMessage.Data, MacMessage.Rts
 
Field Summary
private  Message body
          Packet data payload.
private  MacAddress dst
          Packet destination address.
private  int duration
          Packet transmission duration.
private  short frag
          Packet fragment number.
static short HEADER_SIZE
          Packet header size.
static short MAX_SEQ
          Packet sequence number limit.
private  boolean moreFrag
          Packet moreFlag bit.
private  short seq
          Packet sequence number.
private  MacAddress src
          Packet source address.
 
Fields inherited from class jist.swans.mac.MacMessage
TYPE_ACK, TYPE_CTS, TYPE_DATA, TYPE_RTS
 
Fields inherited from interface jist.swans.misc.Message
NULL
 
Constructor Summary
MacMessage.Data(MacAddress dst, MacAddress src, int duration, Message body)
          Create 802_11 data packet.
MacMessage.Data(MacAddress dst, MacAddress src, int duration, short seq, short frag, boolean moreFrag, boolean retry, Message body)
          Create 802_11 data packet.
 
Method Summary
 Message getBody()
          Return packet data payload.
 void getBytes(byte[] msg, int offset)
          Store packet into byte array.
 MacAddress getDst()
          Return packet destination address.
 int getDuration()
          Return packet transmission time.
 short getFrag()
          Return packet fragment number.
 short getSeq()
          Return packet sequence number.
 int getSize()
          Return packet size or Constants.ZERO_WIRE_SIZE.
 MacAddress getSrc()
          Return packet source address.
 
Methods inherited from class jist.swans.mac.MacMessage
getRetry, getType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HEADER_SIZE

public static final short HEADER_SIZE
Packet header size.

See Also:
Constant Field Values

MAX_SEQ

public static final short MAX_SEQ
Packet sequence number limit.

See Also:
Constant Field Values

dst

private MacAddress dst
Packet destination address.


src

private MacAddress src
Packet source address.


duration

private int duration
Packet transmission duration.


seq

private short seq
Packet sequence number.


frag

private short frag
Packet fragment number.


moreFrag

private boolean moreFrag
Packet moreFlag bit.


body

private Message body
Packet data payload.

Constructor Detail

MacMessage.Data

public MacMessage.Data(MacAddress dst,
                       MacAddress src,
                       int duration,
                       short seq,
                       short frag,
                       boolean moreFrag,
                       boolean retry,
                       Message body)
Create 802_11 data packet.

Parameters:
dst - packet destination address
src - packet source address
duration - packet transmission duration
seq - packet sequence number
frag - packet fragment number
moreFrag - packet moreFrag flag
retry - packet retry bit
body - packet data payload

MacMessage.Data

public MacMessage.Data(MacAddress dst,
                       MacAddress src,
                       int duration,
                       Message body)
Create 802_11 data packet.

Parameters:
dst - packet destination address
src - packet source address
duration - packet transmission duration
body - packet data payload
Method Detail

getDst

public MacAddress getDst()
Return packet destination address.

Specified by:
getDst in class MacMessage
Returns:
packet destination address

getSrc

public MacAddress getSrc()
Return packet source address.

Returns:
packet source address

getDuration

public int getDuration()
Return packet transmission time.

Specified by:
getDuration in class MacMessage
Returns:
packet transmission time

getSeq

public short getSeq()
Return packet sequence number.

Returns:
packet sequence number

getFrag

public short getFrag()
Return packet fragment number.

Returns:
packet fragment number

getBody

public Message getBody()
Return packet data payload.

Returns:
packet data payload

getSize

public int getSize()
Return packet size or Constants.ZERO_WIRE_SIZE.

Returns:
packet size

getBytes

public void getBytes(byte[] msg,
                     int offset)
Store packet into byte array.

Parameters:
msg - destination byte array
offset - byte array starting offset