feat(config): p2p replication client and server separate for performance optimization
This commit is contained in:
parent
352213ae0e
commit
f8c6a401bc
@ -219,6 +219,20 @@ export default class ConfigPage extends Page {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div className='column w100p'>
|
||||||
|
<Toggle
|
||||||
|
style={{marginTop: '10px'}}
|
||||||
|
label={__('P2P torrents replication server')}
|
||||||
|
toggled={this.options.p2pReplicationServer}
|
||||||
|
onToggle={(e, checked) => {
|
||||||
|
this.options.p2pReplicationServer = checked
|
||||||
|
if(!checked)
|
||||||
|
this.options.p2pReplication = false
|
||||||
|
this.forceUpdate()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<div className='fs0-75' style={{color: 'grey'}}>* {__('Enable torrents replication server for other rats clients (required for replication)')}.</div>
|
||||||
|
</div>
|
||||||
<div className='column w100p'>
|
<div className='column w100p'>
|
||||||
<Toggle
|
<Toggle
|
||||||
style={{marginTop: '10px'}}
|
style={{marginTop: '10px'}}
|
||||||
@ -226,6 +240,8 @@ export default class ConfigPage extends Page {
|
|||||||
toggled={this.options.p2pReplication}
|
toggled={this.options.p2pReplication}
|
||||||
onToggle={(e, checked) => {
|
onToggle={(e, checked) => {
|
||||||
this.options.p2pReplication = checked
|
this.options.p2pReplication = checked
|
||||||
|
if(checked)
|
||||||
|
this.options.p2pReplicationServer = true
|
||||||
this.forceUpdate()
|
this.forceUpdate()
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
@ -198,9 +198,9 @@ module.exports = async ({
|
|||||||
onTorrent(hash, options, (data) => callback(data))
|
onTorrent(hash, options, (data) => callback(data))
|
||||||
})
|
})
|
||||||
|
|
||||||
if(config.p2pReplication)
|
if(config.p2pReplicationServer)
|
||||||
{
|
{
|
||||||
console.log('p2p replication enabled')
|
console.log('p2p replication server enabled')
|
||||||
|
|
||||||
p2p.on('randomTorrents', (nil, callback) => {
|
p2p.on('randomTorrents', (nil, callback) => {
|
||||||
if(typeof callback != 'function')
|
if(typeof callback != 'function')
|
||||||
@ -236,6 +236,8 @@ module.exports = async ({
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(config.p2pReplication)
|
||||||
|
{
|
||||||
const getReplicationTorrents = (nextTimeout = 5000) => {
|
const getReplicationTorrents = (nextTimeout = 5000) => {
|
||||||
let gotTorrents = 0
|
let gotTorrents = 0
|
||||||
p2p.emit('randomTorrents', null, (torrents, nil, address) => {
|
p2p.emit('randomTorrents', null, (torrents, nil, address) => {
|
||||||
@ -259,8 +261,10 @@ module.exports = async ({
|
|||||||
setTimeout(() => getReplicationTorrents(gotTorrents > 8 ? gotTorrents * 600 : 10000), nextTimeout)
|
setTimeout(() => getReplicationTorrents(gotTorrents > 8 ? gotTorrents * 600 : 10000), nextTimeout)
|
||||||
}
|
}
|
||||||
// start
|
// start
|
||||||
|
console.log('replication client is enabled')
|
||||||
getReplicationTorrents()
|
getReplicationTorrents()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const searchTorrentCall = function(text, navigation, callback)
|
const searchTorrentCall = function(text, navigation, callback)
|
||||||
{
|
{
|
||||||
|
@ -16,6 +16,7 @@ let config = {
|
|||||||
p2pConnections: 10,
|
p2pConnections: 10,
|
||||||
p2pBootstrap: true,
|
p2pBootstrap: true,
|
||||||
p2pReplication: true,
|
p2pReplication: true,
|
||||||
|
p2pReplicationServer: true,
|
||||||
|
|
||||||
upnp: true,
|
upnp: true,
|
||||||
|
|
||||||
@ -76,6 +77,10 @@ const configProxy = new Proxy(config, {
|
|||||||
value = 10
|
value = 10
|
||||||
if(prop == 'p2pConnections' && value > 300)
|
if(prop == 'p2pConnections' && value > 300)
|
||||||
value = 300
|
value = 300
|
||||||
|
if(prop == 'p2pReplication' && value)
|
||||||
|
target['p2pReplicationServer'] = true
|
||||||
|
if(prop == 'p2pReplicationServer' && !value)
|
||||||
|
target['p2pReplication'] = false
|
||||||
|
|
||||||
|
|
||||||
target[prop] = value
|
target[prop] = value
|
||||||
|
@ -175,6 +175,8 @@
|
|||||||
"Dont start to seed torrent after download finish": "Dont start to seed torrent after download finish",
|
"Dont start to seed torrent after download finish": "Dont start to seed torrent after download finish",
|
||||||
"Delete download (files saved)": "Delete download (files saved)",
|
"Delete download (files saved)": "Delete download (files saved)",
|
||||||
"Serching metadata in progress... Click will delete this torrent.": "Serching metadata in progress... Click will delete this torrent.",
|
"Serching metadata in progress... Click will delete this torrent.": "Serching metadata in progress... Click will delete this torrent.",
|
||||||
"Pause torrent downloading": "Pause torrent downloading"
|
"Pause torrent downloading": "Pause torrent downloading",
|
||||||
|
"P2P torrents replication server": "P2P torrents replication server",
|
||||||
|
"Enable torrents replication server for other rats clients (required for replication)": "Enable torrents replication server for other rats clients (required for replication)"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -175,6 +175,8 @@
|
|||||||
"Dont start to seed torrent after download finish": "Не начинать сидировать торрент после окончания загрузки",
|
"Dont start to seed torrent after download finish": "Не начинать сидировать торрент после окончания загрузки",
|
||||||
"Delete download (files saved)": "Удалить закачку (сохранив файлы)",
|
"Delete download (files saved)": "Удалить закачку (сохранив файлы)",
|
||||||
"Serching metadata in progress... Click will delete this torrent.": "Поиск методанных в процессе... Клик удалит этот торрент.",
|
"Serching metadata in progress... Click will delete this torrent.": "Поиск методанных в процессе... Клик удалит этот торрент.",
|
||||||
"Pause torrent downloading": "Пауза скачки торрента"
|
"Pause torrent downloading": "Пауза скачки торрента",
|
||||||
|
"P2P torrents replication server": "Сервер репликация торрентов через p2p",
|
||||||
|
"Enable torrents replication server for other rats clients (required for replication)": "Включить сервер репликацияя для остальных клиентов крыс (необходим для репликации)"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -175,6 +175,8 @@
|
|||||||
"Dont start to seed torrent after download finish": "Dont start to seed torrent after download finish",
|
"Dont start to seed torrent after download finish": "Dont start to seed torrent after download finish",
|
||||||
"Delete download (files saved)": "Delete download (files saved)",
|
"Delete download (files saved)": "Delete download (files saved)",
|
||||||
"Serching metadata in progress... Click will delete this torrent.": "Serching metadata in progress... Click will delete this torrent.",
|
"Serching metadata in progress... Click will delete this torrent.": "Serching metadata in progress... Click will delete this torrent.",
|
||||||
"Pause torrent downloading": "Pause torrent downloading"
|
"Pause torrent downloading": "Pause torrent downloading",
|
||||||
|
"P2P torrents replication server": "P2P torrents replication server",
|
||||||
|
"Enable torrents replication server for other rats clients (required for replication)": "Enable torrents replication server for other rats clients (required for replication)"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user