about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2006-02-10I don't quite like this file. I think I will use the trac site to keepRichard Nyberg
this kind of information instead.
2006-02-10Better log message.Richard Nyberg
2006-02-10Better log message.Richard Nyberg
2006-02-10Be careful not to stop the sub struct if they haven't been started. AlsoRichard Nyberg
be careful so that we don't operate on a dead torrent.
2006-02-10Oops! Forgot to free some memory.Richard Nyberg
2006-02-10Call realpath after creating the dir. At least on linux the call to realpathRichard Nyberg
may fail if the last path component doesn't exist.
2006-02-10Use c99 types conservatively to compile on OpenBSD. Also convert to or fromRichard Nyberg
time_t via long.
2006-02-10Glibc needs sys/file.h for flock.Richard Nyberg
2006-02-10Mostly name changes. Add a missing include. Changed the torrent statusRichard Nyberg
characters displayed by btcli.
2006-02-10Glibc doesn't support locking in open. Use flock after open instead.Richard Nyberg
2006-02-10Put the ACX_PTHREAD macro from the Autoconf macro archive in acinclude.m4.Richard Nyberg
Build btpd with pthreads.
2006-02-10Change the downloaders option to max-uploads. I find it much less confusingRichard Nyberg
that way :P
2006-02-09Add torrent_name function and use it. Richard Nyberg
2006-02-09btcli stat now takes file arguments to only include stats for the givenRichard Nyberg
torrents.
2006-02-09Include the info hash in the tpstat structure.Richard Nyberg
2006-02-09o Since the torrent sub structs always exist now, we can always write allRichard Nyberg
stats for torrentst. o btpd may be waiting for a torrent to finish so it can exit. Therefore btpd needs to send the reply to the cli before removing the torrent.
2006-02-09There's no need for exactly 64 bits for the upload and download count.Richard Nyberg
Make them long long instead.
2006-02-09Removed the http_redo hack.Richard Nyberg
2006-02-09o Make the torrent sub struct exist for whole life time of the torrent.Richard Nyberg
o Better code for stopping the tracker. No more need for the http_redo hack.
2006-02-09Fix typo. Index should be i not 1.Richard Nyberg
2006-02-08Interaction with btpd is now much more like I want it. Previous workRichard Nyberg
has moved toward btpd having a library of torrent to wich one may add or remove torrents, and where interaction on torrents are done by their assigned number. This commit is a step back from that and it makes life simpler and better for all :) * Some options to btpd has changed: --no-daemon is the old -d. -d is now used to specify the btpd directory. --logfile option is reintroduced. * The ipc code has been improved on both btpd and cli sides. * All commands have been implemented. * Various improvements in btpd. With this commit we're very close to 0.8 :)
2006-02-08White space.Richard Nyberg
2006-02-08Add functions find_btpd_dir.Richard Nyberg
2006-02-08Remove unused function canon_path.Richard Nyberg
2006-02-08Use benc_dget_mema instead of benc_dget_mem + malloc + bcopy.Richard Nyberg
2006-02-08Use strtoul to parse length of strings.Richard Nyberg
2006-02-08Added buf_swrite.Richard Nyberg
2006-02-06Check for failure to allocate memory.Richard Nyberg
2006-02-06Remove som unused code I commited by mistake. Replace integer parse codeRichard Nyberg
in benc_int with a call to strtoll.
2006-02-05Added description of stat output. Changed the stat output.Richard Nyberg
2006-02-05o Changed the benc_ api to make it easier to use.Richard Nyberg
o Lot of work on the cli and its communication with btpd.
2006-02-05Make the buf api safe to continue to use even if an error has occured.Richard Nyberg
2006-02-05Add functions read_fully and write_fully. They are simpler alternatives toRichard Nyberg
read and write on blocking sockets.
2006-02-05Add a function to look up a torrent by its number.Richard Nyberg
2006-02-05Each torrent now gets a number. This number is used to select which torrentRichard Nyberg
to operate on from btcli.
2006-02-05Add function to get tracker error count. Don't look for peers and stuffRichard Nyberg
in tracker replies when we're stopping.
2006-02-05Help text changes.Richard Nyberg
2006-02-01Torrents can now be deactivated and btpd will wait for all torrents toRichard Nyberg
deactivate on shutdown. To not risk hanging indefinitely on unresponsive trackers, btpd will cancel tracker requests after a while.
2006-02-01o Fixed: cm->active was not set to 0 in cm_stop.Richard Nyberg
o Since we only use the mtime and size field of the stat struct for resume info, we now use a struct with only those two fields. This reduces stack usage.
2006-02-01Peers we download from are given a weight of two compared to peers we seed toRichard Nyberg
when we decide which peers to upload to. Also fix so that we don't prefer to upload to peers who has had a good rate but isn't uploading to us now.
2006-02-01Added function http_redo, which does a new request for the same url as anRichard Nyberg
old request and cancels the old request.
2006-01-25* Better message when trying to start btpd in a driectory where it's alreadyRichard Nyberg
running. * Added --downloaders and --max-peers options and hopefully usefull defaults. Because curl uses fd_sets it's important to keep the numbers of fds used below FD_SETSIZE. I will probably move the curl stuff to it's own process to get rid of that limitation. * Added to the help text.
2006-01-24Don't clear the bitfield for blocks it's possible we have, even thoughRichard Nyberg
the resume file and content aren't synchronized. Save the resumefile every 15 seconds for torrents we're downloading. This way we don't have to redownload much content because of crash or whatnot. Not that btpd would crash :) Also, as there were probably no point in fsync'ing the content when we closed the write stream, that is not done anymore.
2006-01-22* Implemented the full cm_ life cycle.Richard Nyberg
* Added fast resume support. A resume file is loaded when a torrent is started and saved when it's stopped or done. If no resume file is found or the file information doesn't match whats on disk, the content is tested for existing pieces. * cm_prealloc now can allocate several adjacent pieces to the given piece. This further reduces fragmentation. How many pieces are allocated at a time is controlled by cm_alloc_size which can be set by the user with the --prealloc option. * Some changes were also made to the torrent api.
2006-01-22Added option --prealloc and a directory argument to btpd. Synced the commandRichard Nyberg
line help with the available options.
2006-01-22Added vfsync and vfopen.Richard Nyberg
2006-01-17White space.Richard Nyberg
2006-01-16Implemented a service thread for operations such as testing piece hashes,Richard Nyberg
preallocating disk space, etc. Tweaked the cm <-> net api a bit.
2006-01-16Unify the write and read structs. There was no good reason to keep themRichard Nyberg
separate. Improve the bts_seek so that it only calls close or lseek if necessary. Otherwise it's a nop. Hide bts_seek and instead make the offset explicit in calls to bts_get or bts_put.
2006-01-16peer_on_no_reqs was called unsafely in peer_on_choke. It should only beRichard Nyberg
called after removing the last request.