hypercast
Class MessageStoreFSM_E2EACK

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

public class MessageStoreFSM_E2EACK
extends I_MessageStoreFSM

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


Field Summary
static byte Done
          The state of the message,Done
static byte E2E_NACK
          ADF_Control Types for E2E ACK
static byte E2E_REQUEST
           
static byte E2E_RESET
           
static byte FINAL_PARTIAL_E2E_ACK
           
static byte FULL_E2E_ACK
           
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 E2E ACK
static byte PAYLOAD_RETRAN
           
static byte Reset
          The state of the message,Reset
static byte WaitforACK
          The state of the message,Wait for ACK
 
Constructor Summary
MessageStoreFSM_E2EACK(hypercast.OL_Socket Socket, hypercast.MessageStore mstore, hypercast.HyperCastConfig config)
          Constructs a MessageStoreFSM_E2EACK 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 new ADF_Control message
 void newADMsg(hypercast.OL_Message msg)
          process a new formated application message
 void timerExpired(int timerIndex)
          process the timer expired events
 void updateACMsg(hypercast.OL_Message msg)
          process new ADF_Control message
 void updateADMsg(hypercast.OL_Message msg)
          Update new ADF_Data message
 
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 E2E ACK

See Also:
Constant Field Values

PAYLOAD_RETRAN

public static final byte PAYLOAD_RETRAN
See Also:
Constant Field Values

E2E_NACK

public static final byte E2E_NACK
ADF_Control Types for E2E ACK

See Also:
Constant Field Values

FULL_E2E_ACK

public static final byte FULL_E2E_ACK
See Also:
Constant Field Values

FINAL_PARTIAL_E2E_ACK

public static final byte FINAL_PARTIAL_E2E_ACK
See Also:
Constant Field Values

E2E_REQUEST

public static final byte E2E_REQUEST
See Also:
Constant Field Values

E2E_RESET

public static final byte E2E_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_E2EACK

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

Parameters:
Socket - OL_Socket
mstore - MessageStore
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 new ADF_Control message

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

updateADMsg

public void updateADMsg(hypercast.OL_Message msg)
Update new ADF_Data message

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

updateACMsg

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

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

timerExpired

public void timerExpired(int timerIndex)
process the timer expired events

Specified by:
timerExpired in class I_MessageStoreFSM