forked from I2P_Developers/i2p.i2p
2007-01-14 zzz
* i2psnark: Improvements for torrents with > 4 leechers: choke based on upload rate when seeding, and be smarter and fairer about rotating choked peers. * Handle two common i2psnark OOM situations rather than shutting down the whole thing. * Fix reporting to tracker of remaining bytes for torrents > 4GB (but ByteMonsoon still has a bug)
This commit is contained in:
@ -537,7 +537,14 @@ class PeerState
|
||||
&& (lastRequest == null || lastRequest.piece != nextPiece))
|
||||
{
|
||||
int piece_length = metainfo.getPieceLength(nextPiece);
|
||||
byte[] bs = new byte[piece_length];
|
||||
//Catch a common place for OOMs esp. on 1MB pieces
|
||||
byte[] bs;
|
||||
try {
|
||||
bs = new byte[piece_length];
|
||||
} catch (OutOfMemoryError oom) {
|
||||
_log.warn("Out of memory, can't request piece " + nextPiece, oom);
|
||||
return false;
|
||||
}
|
||||
|
||||
int length = Math.min(piece_length, PARTSIZE);
|
||||
Request req = new Request(nextPiece, bs, 0, length);
|
||||
|
Reference in New Issue
Block a user