mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-03-09 15:40:26 +00:00
Merge branch 'main' into feature/steam-client-icon-cache
This commit is contained in:
commit
7a13ecd2b7
32 changed files with 16 additions and 794 deletions
|
|
@ -1,11 +0,0 @@
|
|||
import { webTorrentData } from "@main/services/web-torrent-data";
|
||||
import { registerEvent } from "../../register-event";
|
||||
|
||||
const getMagnetHealth = async (
|
||||
_event: Electron.IpcMainInvokeEvent,
|
||||
magnet: string
|
||||
) => {
|
||||
return webTorrentData.getSeedersAndPeers(magnet);
|
||||
};
|
||||
|
||||
registerEvent("getMagnetHealth", getMagnetHealth);
|
||||
|
|
@ -7,7 +7,6 @@ import "./catalogue/get-games";
|
|||
import "./catalogue/get-how-long-to-beat";
|
||||
import "./catalogue/get-random-game";
|
||||
import "./catalogue/search-games";
|
||||
import "./catalogue/repacks/get-magnet-health";
|
||||
import "./catalogue/search-game-repacks";
|
||||
import "./hardware/get-disk-free-space";
|
||||
import "./library/add-game-to-library";
|
||||
|
|
|
|||
|
|
@ -1,40 +0,0 @@
|
|||
import webTorrentHealth from "webtorrent-health";
|
||||
|
||||
type WebTorrentHealthData = {
|
||||
seeds: number;
|
||||
peers: number;
|
||||
};
|
||||
|
||||
const MILLISECONDS = 1000;
|
||||
const SECONDS = 1.5;
|
||||
|
||||
export const webTorrentData = {
|
||||
async getSeedersAndPeers(
|
||||
magnet: string
|
||||
): Promise<{ seeders: number; peers: number } | null> {
|
||||
let peers = 0;
|
||||
let seeds = 0;
|
||||
let retry = 0;
|
||||
let timeout = SECONDS * MILLISECONDS;
|
||||
|
||||
while (retry < 3) {
|
||||
try {
|
||||
const data: WebTorrentHealthData = await webTorrentHealth(magnet, {
|
||||
timeout,
|
||||
});
|
||||
|
||||
peers = data.peers;
|
||||
seeds = data.seeds;
|
||||
|
||||
if (peers || seeds) break;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
|
||||
timeout *= 2;
|
||||
retry++;
|
||||
}
|
||||
|
||||
return { peers, seeders: seeds };
|
||||
},
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue