CoordinatorListener, ShutdownListener, StorageListenerFetchAndAddpublic class Snark extends java.lang.Object implements StorageListener, CoordinatorListener, ShutdownListener
| 修飾子とタイプ | フィールド | 説明 |
|---|---|---|
protected I2PSnarkUtil |
_util |
|
(package private) static int |
MAX_TOTAL_UPLOADERS |
|
(package private) static int |
MIN_TOTAL_UPLOADERS |
Maintain a configurable total uploader cap
coordinatorListener
|
static java.lang.String |
PROP_MAX_CONNECTIONS |
max connections
|
| コンストラクタ | 説明 |
|---|---|
Snark(I2PSnarkUtil util,
java.lang.String torrent,
byte[] ih,
java.lang.String trackerURL,
CompleteListener complistener,
PeerCoordinatorSet peerCoordinatorSet,
ConnectionAcceptor connectionAcceptor,
boolean start,
java.lang.String rootDir) |
multitorrent, magnet
|
Snark(I2PSnarkUtil util,
java.lang.String torrent,
java.lang.String ip,
int user_port,
StorageListener slistener,
CoordinatorListener clistener,
CompleteListener complistener,
PeerCoordinatorSet peerCoordinatorSet,
ConnectionAcceptor connectionAcceptor,
boolean start,
java.lang.String rootDir) |
推奨されていません。
|
Snark(I2PSnarkUtil util,
java.lang.String torrent,
java.lang.String ip,
int user_port,
StorageListener slistener,
CoordinatorListener clistener,
CompleteListener complistener,
PeerCoordinatorSet peerCoordinatorSet,
ConnectionAcceptor connectionAcceptor,
boolean start,
java.lang.String rootDir,
java.io.File baseFile) |
multitorrent
|
| 修飾子とタイプ | メソッド | 説明 |
|---|---|---|
boolean |
addComments(java.util.List<Comment> comments) |
Add to the current comment set for this torrent,
creating it if it didn't previously exist.
|
void |
addMessage(java.lang.String message) |
StorageListener and CoordinatorListener callback
|
java.lang.String |
getBaseName() |
|
double |
getCheckingProgress() |
If checking is in progress, return completion 0.0 ...
|
CommentSet |
getComments() |
The current comment set for this torrent.
|
long |
getDownloaded() |
|
long |
getDownloadRate() |
|
byte[] |
getID() |
|
byte[] |
getInfoHash() |
|
MetaInfo |
getMetaInfo() |
|
java.lang.String |
getName() |
|
long |
getNeeded() |
Does not account (i.e.
|
long |
getNeededLength() |
Bytes still wanted.
|
int |
getPeerCount() |
|
java.util.List<Peer> |
getPeerList() |
|
int |
getPieceLength(int p) |
|
int |
getPieces() |
|
long |
getRemainingLength() |
Bytes not yet in storage.
|
int |
getRPCID() |
A unique ID for this torrent, useful for RPC
|
long |
getSkippedLength() |
Bytes not received and set to skipped.
|
long |
getStartedTime() |
When did we start this torrent
For RPC
|
Storage |
getStorage() |
|
long |
getTotalLength() |
|
java.lang.String |
getTrackerProblems() |
Not HTML escaped.
|
int |
getTrackerSeenPeers() |
|
java.lang.String |
getTrackerURL() |
|
long |
getUploaded() |
|
long |
getUploadRate() |
|
void |
gotMetaInfo(PeerCoordinator coordinator,
MetaInfo metainfo) |
Called when the PeerCoordinator got the MetaInfo via magnet.
|
boolean |
isAllocating() |
Disk allocation (ballooning) in progress.
|
boolean |
isAutoStoppable() |
|
boolean |
isChecking() |
File checking in progress.
|
boolean |
isStarting() |
Startup in progress.
|
boolean |
isStopped() |
|
boolean |
overUpBWLimit() |
Are we currently over the upstream bandwidth limit?
|
boolean |
overUpBWLimit(long total) |
Is the total (in Bps) over the upstream bandwidth limit?
|
boolean |
overUploadLimit(int uploaders) |
Is this number of uploaders over the per-torrent limit?
|
void |
peerChange(PeerCoordinator coordinator,
Peer peer) |
CoordinatorListener - this does nothing
|
boolean |
restartAcceptor() |
|
void |
setAutoStoppable(boolean yes) |
|
void |
setStarting() |
Set startup in progress.
|
void |
setTrackerProblems(java.lang.String p) |
|
void |
setTrackerSeenPeers(int p) |
|
void |
setWantedPieces(Storage storage) |
Reset the peer's wanted pieces table
Call after the storage double-check fails
|
void |
shutdown() |
SnarkSnutdown callback unused
|
void |
startTorrent() |
Start up contacting peers and querying the tracker.
|
void |
stopTorrent() |
Stop contacting the tracker and talking with peers
|
void |
stopTorrent(boolean fast) |
Stop contacting the tracker and talking with peers
|
void |
storageAllChecked(Storage storage) |
Called when all pieces in the storage have been checked.
|
void |
storageAllocated(Storage storage,
long length) |
does nothing
|
void |
storageChecked(Storage storage,
int num,
boolean checked) |
Called when storage is being checked and the num piece of that
total pieces has been checked.
|
void |
storageCompleted(Storage storage) |
Called the one time when the data is completely received and checked.
|
void |
storageCreateFile(Storage storage,
java.lang.String name,
long length) |
does nothing
|
void |
updatePiecePriorities() |
public static final java.lang.String PROP_MAX_CONNECTIONS
protected final I2PSnarkUtil _util
static final int MIN_TOTAL_UPLOADERS
static final int MAX_TOTAL_UPLOADERS
public Snark(I2PSnarkUtil util, java.lang.String torrent, java.lang.String ip, int user_port, StorageListener slistener, CoordinatorListener clistener, CompleteListener complistener, PeerCoordinatorSet peerCoordinatorSet, ConnectionAcceptor connectionAcceptor, boolean start, java.lang.String rootDir)
java.lang.RuntimeException - via fatal()public Snark(I2PSnarkUtil util, java.lang.String torrent, java.lang.String ip, int user_port, StorageListener slistener, CoordinatorListener clistener, CompleteListener complistener, PeerCoordinatorSet peerCoordinatorSet, ConnectionAcceptor connectionAcceptor, boolean start, java.lang.String rootDir, java.io.File baseFile)
baseFile - if null, use rootDir/torrentName; if non-null, use it insteadjava.lang.RuntimeException - via fatal()public Snark(I2PSnarkUtil util, java.lang.String torrent, byte[] ih, java.lang.String trackerURL, CompleteListener complistener, PeerCoordinatorSet peerCoordinatorSet, ConnectionAcceptor connectionAcceptor, boolean start, java.lang.String rootDir)
torrent - a fake name for now (not a file name)ih - 20-byte info hashtrackerURL - may be nulljava.lang.RuntimeException - via fatal()public void startTorrent()
java.lang.RuntimeException - via fatal()public void stopTorrent()
public void stopTorrent(boolean fast)
fast - if true, limit the life of the unannounce threadspublic java.lang.String getName()
public java.lang.String getBaseName()
public byte[] getID()
public byte[] getInfoHash()
public MetaInfo getMetaInfo()
public Storage getStorage()
public boolean isStopped()
public boolean isStarting()
public void setStarting()
public boolean isChecking()
public double getCheckingProgress()
public boolean isAllocating()
public long getDownloadRate()
public long getUploadRate()
public long getDownloaded()
public long getUploaded()
public int getPeerCount()
public java.util.List<Peer> getPeerList()
public java.lang.String getTrackerProblems()
public void setTrackerProblems(java.lang.String p)
p - tracker error string or nullpublic int getTrackerSeenPeers()
public void setTrackerSeenPeers(int p)
public void updatePiecePriorities()
public long getTotalLength()
public long getRemainingLength()
public long getNeededLength()
public long getSkippedLength()
public long getNeeded()
public int getPieceLength(int p)
p - the piece numberpublic int getPieces()
public boolean restartAcceptor()
public java.lang.String getTrackerURL()
public boolean isAutoStoppable()
public void setAutoStoppable(boolean yes)
public void peerChange(PeerCoordinator coordinator, Peer peer)
peerChange インタフェース内 CoordinatorListenerpublic void gotMetaInfo(PeerCoordinator coordinator, MetaInfo metainfo)
gotMetaInfo インタフェース内 CoordinatorListenerjava.lang.RuntimeException - via fatal()public void storageCreateFile(Storage storage, java.lang.String name, long length)
storageCreateFile インタフェース内 StorageListenerpublic void storageAllocated(Storage storage, long length)
storageAllocated インタフェース内 StorageListenerpublic void storageChecked(Storage storage, int num, boolean checked)
StorageListenerstorageChecked インタフェース内 StorageListenerpublic void storageAllChecked(Storage storage)
StorageListenerstorageAllChecked インタフェース内 StorageListenerpublic void storageCompleted(Storage storage)
StorageListenerstorageCompleted インタフェース内 StorageListenerpublic void setWantedPieces(Storage storage)
StorageListenersetWantedPieces インタフェース内 StorageListenerpublic void shutdown()
shutdown インタフェース内 ShutdownListenerpublic void addMessage(java.lang.String message)
addMessage インタフェース内 CoordinatorListeneraddMessage インタフェース内 StorageListenerpublic boolean overUploadLimit(int uploaders)
CoordinatorListeneroverUploadLimit インタフェース内 CoordinatorListenerpublic boolean overUpBWLimit()
CoordinatorListeneroverUpBWLimit インタフェース内 CoordinatorListenerpublic boolean overUpBWLimit(long total)
CoordinatorListeneroverUpBWLimit インタフェース内 CoordinatorListenerpublic int getRPCID()
public long getStartedTime()
public CommentSet getComments()
public boolean addComments(java.util.List<Comment> comments)