Comments (3)
Resuming downloads means xdccJS would need some kind of database to store information about every interrupted download (botname, bot IP, package number, filename, port used).
Even worse, query the database EVERY TIME a download is started to automate the thing (to avoid using a resume() function).
I'm not sure i want to dive into that, as i'd like to keep xdccJS as light as possible. I'll think about it.
BUT !
If the idea of resuming comes from failed downloads, you could still restart it (from the beginning) like this :
// will retry indefinitely until file is downloaded
let download = () => {
xdccJS.download('bot', '#2')
}
download()
xdccJS.on('download-err', () => {
download()
}
from xdccjs.
In case i change my mind here's a reminder on how DCC resume works:
DCC Resume Protocol
User1 is sending the file.
User2 is receiving the file.
If User2 chooses to resume a file transfer of an existing file, the following negotiation takes place:
User2 sends:
PRIVMSG User1 :DCC RESUME filename port position
- filename = the filename sent by User1.
- port = the port number sent by User1.
- position = the current size of the file that User2 has.
User1 then responds:
PRIVMSG User2 :DCC ACCEPT filename port position
from xdccjs.
Resuming downloads means xdccJS would need some kind of database to store information about every interrupted download (botname, bot IP, package number, filename, port used).
I was totally wrong about that: if the file already exist the xdcc protocol just needs a second handshake (using DCC RESUME) specifying the file position.
from xdccjs.
Related Issues (20)
- resume file download (passive method)
- weird [?] font character in terminal
- --server change to --host
- vlc paths for 64bit HOT 7
- Profile saved but not detected HOT 2
- keep downloading file even if vlc is closed. HOT 6
- Poll: Does xdccJS need a WEB-UI ? HOT 3
- Documentation related to how it extends irc-framework is outdated
- xdccJS shutting down instantly/after a few seconds HOT 2
- No .on() - listener method when using typescript HOT 3
- Resumption of stopped downloads not working HOT 3
- Joining multiple channels does not work HOT 8
- A CLI option to configure the request timeout (to accomodate queues)
- xdccJS is currently crashing when run in a non-TTY environment HOT 1
- downloads keep getting aborted at random points HOT 13
- Be able to provide a password for NickServ to authenticate with nickname HOT 1
- TLS conenections do not work HOT 1
- Download bandwidth throttling HOT 8
- Verbose : Improve overall readability/consistency
- useless code
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xdccjs.