// Carnegie Mellon University
//   Information Networking Institute and
//   School of Computer Science
//
// Master Thesis: A Monitoring Tool for Overlay Network
// By: TungFai Chan and Annie Cheng
//
// File: IntentToLeaveGroupEvent.java
// Path: eventbase/event
// Description: Derive Class from OverlayEvent

package eventbase.event;
import eventbase.*;

public class IntentToLeaveGroupEvent extends OverlayEvent{

  final String OBJECT_NAME = "IntentToLeaveGroupEvent";
  final private int EVENTID = INTENT_TO_LEAVE;
  private OverlayHost member;
  private String printStr = null;

  public IntentToLeaveGroupEvent(OverlayHost host) {
    member = host;
    eventID = EVENTID;
  }

  public int getMemorySize() {
    return OverlayHost.getMemorySize() + 4; //  + EVENTID
  }


  public OverlayHost getSourceHost() {
    return member;
  }

  public OverlayHost getTargetHost() {
    return null;
  }

  public String getOutputString() {
    printStr = "Event INTENT_TO_LEAVE: member " + member.getName() +
               " initiated to leave the group";
    printStr += ".";
    return printStr;
  }

}