resolve file transfer function

This commit is contained in:
Alexey Kasyanchuk 2018-09-01 05:31:10 +03:00
parent 70e865451d
commit 39e2dd71dc

View File

@ -411,6 +411,8 @@ class p2p {
} }
logT('transfer', 'get file request', path) logT('transfer', 'get file request', path)
return new Promise((resolve) =>
{
const fileStream = fs.createWriteStream(this.dataDirectory + '/' + (targetPath || ph.basename(path))) const fileStream = fs.createWriteStream(this.dataDirectory + '/' + (targetPath || ph.basename(path)))
let peer = null let peer = null
let firstTransfer = false let firstTransfer = false
@ -426,6 +428,10 @@ class p2p {
logT('transfer', 'closing transfering file stream', path) logT('transfer', 'closing transfering file stream', path)
deleteCallback() deleteCallback()
fileStream.end() fileStream.end()
if(firstTransfer) // данные передало до этого, значит файл целый
{
resolve(true)
}
return return
} }
@ -435,6 +441,7 @@ class p2p {
logTE('transfer', 'error on file transfer', path) logTE('transfer', 'error on file transfer', path)
deleteCallback() deleteCallback()
fileStream.end() fileStream.end()
resolve(false)
return return
} }
@ -449,6 +456,7 @@ class p2p {
const buffer = Buffer.from(data.data) const buffer = Buffer.from(data.data)
fileStream.write(buffer) fileStream.write(buffer)
}, true) // dont clear callback }, true) // dont clear callback
})
} }
peersList() peersList()