package org.torrent.internal.protocol.message;
import org.torrent.internal.data.BTPart;
import org.torrent.internal.util.Validator;
public class Cancel implements BittorrentMessage {
private BTPart pieceInfo;
public Cancel(int index, int start, int length) {
this(new BTPart(index, start, length));
}
public Cancel(BTPart pi) {
Validator.notNull(pi, "PieceInfo is null!");
pieceInfo = pi;
}
public int getIndex() {
return pieceInfo.getIndex();
}
public int getStart() {
return pieceInfo.getStart();
}
public int getLength() {
return pieceInfo.getLength();
}
@Override
public void accept(BTMessageVisitor visitor) {
visitor.visitCancel(this);
}
public BTPart getPieceInfo() {
return pieceInfo;
}
@Override
public String toString() {
return "Cancel: " + pieceInfo;
}
}