Skip to content

Commit 76e96ac

Browse files
committed
修复 BitComet 解析 LTSeed 过滤器应用不正确的问题
1 parent ec6ad4f commit 76e96ac

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

  • src/main/java/com/ghostchu/peerbanhelper/downloader/impl/bitcomet

src/main/java/com/ghostchu/peerbanhelper/downloader/impl/bitcomet/BitComet.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public final class BitComet extends AbstractDownloader {
5252
private String deviceToken;
5353
private Semver serverVersion;
5454
private final ExecutorService parallelService = Executors.newWorkStealingPool();
55+
private final List<String> peerGroupsFilter = List.of("peers_connected", "ltseeds_connected");
5556

5657
public BitComet(String id, Config config, AlertManager alertManager, HTTPUtil httpUtil, NatAddressProvider natAddressProvider) {
5758
super(id, alertManager, natAddressProvider);
@@ -473,8 +474,9 @@ private long readHumanReadableValue(String value) {
473474

474475
@Override
475476
public @NotNull List<Peer> getPeers(@NotNull Torrent torrent) {
477+
476478
Map<String, Object> requirements = new HashMap<>();
477-
requirements.put("groups", List.of("peers_connected", "ltseeds_connected"));
479+
requirements.put("groups", peerGroupsFilter);
478480
requirements.put("task_id", torrent.getId());
479481
requirements.put("max_count", String.valueOf(Integer.MAX_VALUE)); // 获取全量列表,因为我们需要检查所有 Peers
480482

@@ -493,8 +495,12 @@ private long readHumanReadableValue(String value) {
493495
if (peers.getPeers() == null) {
494496
return Collections.emptyList();
495497
}
496-
return peers.getPeers().stream().map(peer -> new PeerImpl(
498+
var stream = peers.getPeers()
499+
.stream()
500+
.filter(dto -> peerGroupsFilter.contains(dto.getGroup()));
501+
return stream.map(peer -> new PeerImpl(
497502
natTranslate(parseAddress(peer.getIp(), peer.getRemotePort(), peer.getListenPort())),
503+
498504
ByteUtil.hexToByteArray(peer.getPeerId()),
499505
peer.getClientType(),
500506
peer.getDlRate(),

0 commit comments

Comments
 (0)