Package org.klomp.snark
Class MagnetState
- java.lang.Object
-
- org.klomp.snark.MagnetState
-
class MagnetState extends Object
Simple state for the download of the metainfo, shared between Peer and ExtensionHandler. Nothing is synchronized here! Caller must synchronize on this for everything! Reference: BEP 9- Since:
- 0.8.4 author zzz
-
-
Field Summary
Fields Modifier and Type Field Description static int
CHUNK_SIZE
-
Constructor Summary
Constructors Constructor Description MagnetState(byte[] iHash, MetaInfo meta)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
chunkSize(int chunk)
int
chunksRemaining()
byte[]
getChunk(int chunk)
MetaInfo
getMetaInfo()
int
getNextRequest()
int
getSize()
void
initialize(int size)
Call this for a new magnet when you have the sizeboolean
isComplete()
boolean
isInitialized()
boolean
saveChunk(int chunk, byte[] data, int off, int length)
void
setMetaInfo(MetaInfo meta)
Call this for a new magnet when the download is complete.
-
-
-
Field Detail
-
CHUNK_SIZE
public static final int CHUNK_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MagnetState
public MagnetState(byte[] iHash, MetaInfo meta)
- Parameters:
meta
- null for new magnet
-
-
Method Detail
-
initialize
public void initialize(int size)
Call this for a new magnet when you have the size- Throws:
IllegalArgumentException
-
setMetaInfo
public void setMetaInfo(MetaInfo meta)
Call this for a new magnet when the download is complete.- Throws:
IllegalArgumentException
-
getMetaInfo
public MetaInfo getMetaInfo()
- Throws:
IllegalArgumentException
-
getSize
public int getSize()
- Throws:
IllegalArgumentException
-
isInitialized
public boolean isInitialized()
-
isComplete
public boolean isComplete()
-
chunkSize
public int chunkSize(int chunk)
-
chunksRemaining
public int chunksRemaining()
- Returns:
- chunk count
-
getNextRequest
public int getNextRequest()
- Returns:
- chunk number
-
getChunk
public byte[] getChunk(int chunk)
- Throws:
IllegalArgumentException
-
saveChunk
public boolean saveChunk(int chunk, byte[] data, int off, int length) throws Exception
- Returns:
- true if this was the last piece
- Throws:
NullPointerException
- IllegalArgumentException, IOException, ...Exception
-
-