Make the server seed all torrent files
This commit is contained in:
+18
-4
@@ -2,6 +2,7 @@
|
||||
|
||||
const EventEmitter = require('events').EventEmitter;
|
||||
const protooServer = require('protoo-server');
|
||||
const WebTorrent = require('webtorrent');
|
||||
const Logger = require('./Logger');
|
||||
const config = require('../config');
|
||||
|
||||
@@ -11,6 +12,14 @@ const BITRATE_FACTOR = 0.75;
|
||||
|
||||
const logger = new Logger('Room');
|
||||
|
||||
const torrentClient = new WebTorrent({
|
||||
tracker : {
|
||||
rtcConfig : {
|
||||
iceServers : config.turnServers
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
class Room extends EventEmitter
|
||||
{
|
||||
constructor(roomId, mediaServer)
|
||||
@@ -278,12 +287,17 @@ class Room extends EventEmitter
|
||||
{
|
||||
accept();
|
||||
|
||||
const { file } = request.data;
|
||||
const fileData = request.data.file;
|
||||
|
||||
this._fileHistory.push(fileData);
|
||||
|
||||
if (!torrentClient.get(fileData.file.magnet))
|
||||
{
|
||||
torrentClient.add(fileData.file.magnet);
|
||||
}
|
||||
|
||||
this._fileHistory.push(file);
|
||||
|
||||
this._protooRoom.spread('file-receive', {
|
||||
file
|
||||
file : fileData
|
||||
}, [ protooPeer ]);
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user