package org.torrent.internal.protocol.message.realtime;
import org.torrent.internal.data.BTPart;
import org.torrent.internal.protocol.message.BTMessageVisitor;
import org.torrent.internal.protocol.message.BittorrentMessage;
import org.torrent.internal.util.Validator;
public class WinUpdate implements BittorrentMessage {
private BTPart pieceInfo;
public WinUpdate(int index) {
//maybe not converting in a BTPart
this(new BTPart(index, 0, 0));
}
public WinUpdate(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) {
BTMessageVisitorRealtime rtVisitor = (BTMessageVisitorRealtime) visitor;
rtVisitor.visitWinUpdate(this);
}
public BTPart getPieceInfo() {
return pieceInfo;
}
@Override
public String toString() {
return "WinUpdate: " + pieceInfo;
}
}