hypercast
Class MessageStoreFSM_H2HACK

java.lang.Object
  |
  +--hypercast.I_MessageStoreFSM
        |
        +--hypercast.MessageStoreFSM_H2HACK

public class MessageStoreFSM_H2HACK
extends I_MessageStoreFSM

This class is a finite state machine which handles hop to hop ack.


Field Summary
static byte Done
          The state of the message,Done
static byte H2H_ACK
           
static byte H2H_NACK
          ADF_Control Types for H2H ACK
static byte H2H_REQUEST
           
static byte H2H_RESET
           
static byte Init
          The state of the message,Init
static byte NoPayLoad
          The state of the message,Don't have payload
static byte PAYLOAD
          ADF_Payload for H2H ACK
static byte PAYLOAD_RETRAN
          ADF_Retransmit payload for H2H ACK
static byte Reset
          The state of the message,Reset
static byte WaitforACK
          The state of the message,Wait for ACK
 
Constructor Summary
MessageStoreFSM_H2HACK(hypercast.OL_Socket Socket, hypercast.MessageStore mstore, hypercast.HyperCastConfig config)
          Constructs a MessageStoreFSM_H2HACK object with OL_Socket and MessageStore.
 
Method Summary
 void changingNeighbor()
          This method is used to adapt the dynamically changing tree structure of the overlay topology.
 short getFSMID()
          Get the service number of the finite state machine
 void newACMsg(hypercast.OL_Message msg)
          Process the new ADF_Control message
 void newADMsg(hypercast.OL_Message msg)
          process a new formated application message
 void timerExpired(int timerIndex)
          Set the time expired events
 void updateACMsg(hypercast.OL_Message msg)
          Update the new ADF_Control message
 void updateADMsg(hypercast.OL_Message msg)
          Update the known ADF_Data message entry
 
Methods inherited from class hypercast.I_MessageStoreFSM
receiveControlMessage, receiveDataMessage, timerExpired
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PAYLOAD

public static final byte PAYLOAD
ADF_Payload for H2H ACK

See Also:
Constant Field Values

PAYLOAD_RETRAN

public static final byte PAYLOAD_RETRAN
ADF_Retransmit payload for H2H ACK

See Also:
Constant Field Values

H2H_NACK

public static final byte H2H_NACK
ADF_Control Types for H2H ACK

See Also:
Constant Field Values

H2H_ACK

public static final byte H2H_ACK
See Also:
Constant Field Values

H2H_REQUEST

public static final byte H2H_REQUEST
See Also:
Constant Field Values

H2H_RESET

public static final byte H2H_RESET
See Also:
Constant Field Values

Init

public static final byte Init
The state of the message,Init

See Also:
Constant Field Values

NoPayLoad

public static final byte NoPayLoad
The state of the message,Don't have payload

See Also:
Constant Field Values

WaitforACK

public static final byte WaitforACK
The state of the message,Wait for ACK

See Also:
Constant Field Values

Done

public static final byte Done
The state of the message,Done

See Also:
Constant Field Values

Reset

public static final byte Reset
The state of the message,Reset

See Also:
Constant Field Values
Constructor Detail

MessageStoreFSM_H2HACK

public MessageStoreFSM_H2HACK(hypercast.OL_Socket Socket,
                              hypercast.MessageStore mstore,
                              hypercast.HyperCastConfig config)
Constructs a MessageStoreFSM_H2HACK object with OL_Socket and MessageStore.

Parameters:
Socket - OL_Socket
mstore - MessageStore
config - HyperCastConfig
Method Detail

changingNeighbor

public void changingNeighbor()
This method is used to adapt the dynamically changing tree structure of the overlay topology. It will take different actions depending on the current state of the finite state machine.

Specified by:
changingNeighbor in class I_MessageStoreFSM

getFSMID

public short getFSMID()
Description copied from class: I_MessageStoreFSM
Get the service number of the finite state machine

Specified by:
getFSMID in class I_MessageStoreFSM
Returns:
the finite state machine id

newADMsg

public void newADMsg(hypercast.OL_Message msg)
process a new formated application message

Specified by:
newADMsg in class I_MessageStoreFSM
Parameters:
msg - OL_Message

newACMsg

public void newACMsg(hypercast.OL_Message msg)
Process the new ADF_Control message

Specified by:
newACMsg in class I_MessageStoreFSM
Parameters:
msg - OL_Message

updateADMsg

public void updateADMsg(hypercast.OL_Message msg)
Update the known ADF_Data message entry

Specified by:
updateADMsg in class I_MessageStoreFSM
Parameters:
msg - OL_Message

updateACMsg

public void updateACMsg(hypercast.OL_Message msg)
Update the new ADF_Control message

Specified by:
updateACMsg in class I_MessageStoreFSM
Parameters:
msg - OL_Message

timerExpired

public void timerExpired(int timerIndex)
Set the time expired events

Specified by:
timerExpired in class I_MessageStoreFSM
Parameters:
timerIndex -