public ActivePiece(PieceInfo piece, int pieceByteSize) { pieceInfo = piece; this.pieceByteSize = pieceByteSize; blocksCount = ExchUtils.BlockCount(pieceByteSize); blocks = new List<BlockStatus>(blocksCount); Reset(); }
private bool CheckPieceData(TransferJob job, PieceInfo piece) { string path = fileModule._context.MainPath.ToFull(piece.RelFilePath); // TODO: to jest zle na razie (stala wielkosc) byte[] data = _dataManager.ReadPiece(path, ExchUtils.GetInFilePosition(piece), ExchUtils.StandardPieceSize); return job.CheckData(piece, data, ExchUtils.StandardPieceSize); }
public static long GetInFilePosition(PieceInfo piece) { return (long) piece.Index << StandardPieceSize; }
public bool Equals(PieceInfo other) { return Equals(other.relFilePath, relFilePath) && other.index == index; }