mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-28 21:31:03 +00:00
feat: move initial seeding for DownloadManager
This commit is contained in:
@@ -24,13 +24,17 @@ import { logger } from "../logger";
|
||||
export class DownloadManager {
|
||||
private static downloadingGameId: number | null = null;
|
||||
|
||||
public static startRPC(game: Game) {
|
||||
public static startRPC(game: Game, initialSeeding?: Game[]) {
|
||||
if (game && game.status === "active") {
|
||||
PythonRPC.spawn({
|
||||
game_id: game.id,
|
||||
url: game.uri!,
|
||||
save_path: game.downloadPath!,
|
||||
});
|
||||
}, initialSeeding?.map((game) => ({
|
||||
game_id: game.id,
|
||||
url: game.uri!,
|
||||
save_path: game.downloadPath!,
|
||||
})));
|
||||
|
||||
this.downloadingGameId = game.id;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import { logger } from "./logger";
|
||||
import { Readable } from "node:stream";
|
||||
import { app, dialog } from "electron";
|
||||
|
||||
interface StartDownloadPayload {
|
||||
interface GamePayload {
|
||||
game_id: number;
|
||||
url: string;
|
||||
save_path: string;
|
||||
@@ -42,12 +42,13 @@ export class PythonRPC {
|
||||
readable.on("data", logger.log);
|
||||
}
|
||||
|
||||
public static spawn(initialDownload?: StartDownloadPayload) {
|
||||
public static spawn(initialDownload?: GamePayload, initialSeeding?: GamePayload[]) {
|
||||
const commonArgs = [
|
||||
this.BITTORRENT_PORT,
|
||||
this.RPC_PORT,
|
||||
this.RPC_PASSWORD,
|
||||
initialDownload ? JSON.stringify(initialDownload) : "",
|
||||
initialSeeding ? JSON.stringify(initialSeeding) : "",
|
||||
];
|
||||
|
||||
if (app.isPackaged) {
|
||||
|
||||
Reference in New Issue
Block a user