From d8f6b0d4646fb4e8a3ae572c454829ea71d8fa68 Mon Sep 17 00:00:00 2001 From: xiaomlove Date: Sat, 23 Apr 2022 03:14:12 +0800 Subject: [PATCH] announce dual not insert peer --- app/Repositories/TrackerRepository.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/Repositories/TrackerRepository.php b/app/Repositories/TrackerRepository.php index 2968db3a..b1beaacc 100644 --- a/app/Repositories/TrackerRepository.php +++ b/app/Repositories/TrackerRepository.php @@ -104,7 +104,7 @@ class TrackerRepository extends BaseRepository * Update: Will not change $peerSelf any more */ if ($isReAnnounce == self::ANNOUNCE_FIRST || ($isReAnnounce == self::ANNOUNCE_DUAL && $queries['event'] !== 'stopped')) { - $this->updatePeer($peerSelf, $queries); + $this->updatePeer($peerSelf, $queries, $isReAnnounce); } if ($isReAnnounce === self::ANNOUNCE_FIRST) { @@ -782,13 +782,16 @@ class TrackerRepository extends BaseRepository do_log(last_query()); } - private function updatePeer(Peer $peer, $queries) + private function updatePeer(Peer $peer, $queries, $isReAnnounce) { if ($queries['event'] == 'stopped') { Peer::query()->where('torrent', $peer->torrent)->where('peer_id', $queries['peer_id'])->delete(); do_log(last_query()); return; } + if (!$peer->exists && $isReAnnounce == self::ANNOUNCE_DUAL) { + do_log('[ANNOUNCE_DUAL_AND_PEER_NOT_EXISTS], return'); + } $nowStr = Carbon::now()->toDateTimeString(); //torrent, userid, peer_id, ip, port, connectable, uploaded, downloaded, to_go, started, last_action, seeder, agent, downloadoffset, uploadoffset, passkey