forked from I2P_Developers/i2p.i2p
i2psnark: Update tracker list after editing torrent (Gitlab #380)
This commit is contained in:
@ -1335,6 +1335,9 @@ public class Snark
|
|||||||
*/
|
*/
|
||||||
public void replaceMetaInfo(MetaInfo metainfo) {
|
public void replaceMetaInfo(MetaInfo metainfo) {
|
||||||
meta = metainfo;
|
meta = metainfo;
|
||||||
|
TrackerClient tc = trackerclient;
|
||||||
|
if (tc != null)
|
||||||
|
tc.reinitialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////// Begin StorageListener methods
|
///////////// Begin StorageListener methods
|
||||||
|
@ -94,7 +94,8 @@ public class TrackerClient implements Runnable {
|
|||||||
private static final Hash DSA_ONLY_TRACKER = ConvertToHash.getHash("cfmqlafjfmgkzbt4r3jsfyhgsr5abgxryl6fnz3d3y5a365di5aa.b32.i2p");
|
private static final Hash DSA_ONLY_TRACKER = ConvertToHash.getHash("cfmqlafjfmgkzbt4r3jsfyhgsr5abgxryl6fnz3d3y5a365di5aa.b32.i2p");
|
||||||
|
|
||||||
private final I2PSnarkUtil _util;
|
private final I2PSnarkUtil _util;
|
||||||
private final MetaInfo meta;
|
// non-final for reinitialize()
|
||||||
|
private MetaInfo meta;
|
||||||
private final String infoHash;
|
private final String infoHash;
|
||||||
private final String peerID;
|
private final String peerID;
|
||||||
private final String additionalTrackerURL;
|
private final String additionalTrackerURL;
|
||||||
@ -266,8 +267,22 @@ public class TrackerClient implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Call after editing torrent
|
||||||
|
* @since 0.9.57
|
||||||
|
*/
|
||||||
|
public synchronized void reinitialize() {
|
||||||
|
if (!_initialized || !stop)
|
||||||
|
return;
|
||||||
|
trackers.clear();
|
||||||
|
backupTrackers.clear();
|
||||||
|
meta = snark.getMetaInfo();
|
||||||
|
setup();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do this one time only (not every time it is started).
|
* Do this one time only (not every time it is started).
|
||||||
|
* Unless torrent was edited.
|
||||||
* @since 0.9.1
|
* @since 0.9.1
|
||||||
*/
|
*/
|
||||||
private void setup() {
|
private void setup() {
|
||||||
|
Reference in New Issue
Block a user