// 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: LeaveGroupEvent.java
// Path: eventbase/event
// Description: Derive Class from OverlayEvent

package eventbase.event;
import eventbase.*;

public class LeaveGroupEvent extends OverlayEvent {

  final String OBJECT_NAME = "LeaveGroupEvent";
  final private int EVENTID = LEAVE_GROUP;
  private OverlayHost member;
  private String printStr = null;

  public LeaveGroupEvent(OverlayHost host) {
    member = host;
    eventID = EVENTID;
  }

  public OverlayHost getSourceHost() {
    return member;
  }

  public OverlayHost getTargetHost() {
    return null;
  }

  public String getOutputString() {
    printStr = "Event LEAVE: member " + member.getName() + " leaves the group";
    printStr += ".";
    return printStr;
  }

  public int getMemorySize() {
    return OverlayHost.getMemorySize() + 4; //  + EVENTID
  }
}