package org.torrent.internal.protocol.message; import org.torrent.internal.data.BTPart; import org.torrent.internal.util.Validator; public class Request implements BittorrentMessage { private BTPart pieceInfo; public Request(int index, int start, int length) { this(new BTPart(index, start, length)); } public Request(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.visitRequest(this); } public BTPart getPieceInfo() { return pieceInfo; } @Override public String toString() { return "Request: " + pieceInfo; } }