about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2005-12-01dl_on_lost_peer must remove the peer from the list. This was accidentallyRichard Nyberg
removed in a previous commit. Fix indentation.
2005-12-01Fix an unsafe loop.Richard Nyberg
2005-11-30The mega whitespace patch.Richard Nyberg
Tabs have been converted to spaces and trailing whitespace have been removed. I have fixed my emacs settings now :P
2005-11-30* Added net_(add|del)_torrent. net_add_torrent enables p2p for a torrentRichard Nyberg
and net_del_torrent does the opposite (surprise!). * Some code shuffle has been done to separate net_ and dl_ from torrent_ but there's still much to be done. * Removed a couple of dead vars from struct torrent.
2005-11-29* Removed the heartbeat and btpd_seconds. Note that this breaks the tracker.Richard Nyberg
* Renamed the policy* files to upload* and download*. * The upload (un)choker is now global instead of per torrent. The algorithm is not yet implemented however. To be continued...
2005-11-27* Get rid of net_bw_hz and run the bw stuff at one hz.Richard Nyberg
* The peer rates are now only updated when data transfer is enabled in the corresponding direction. They are also computed differently from before. The rates are computed in the bw callback once a second. This facilitates later improvements in the choke algorithm.
2005-11-27More name changes from "cm_" to more appropriate names.Richard Nyberg
2005-11-27Rename the list of torrents.Richard Nyberg
2005-11-27This is very much a intermediate commit.Richard Nyberg
* Load "test" torrent on start. * Look for content and resume in the right places.
2005-11-14Use a flag (PF_DO_UNWANT) to indicate that we should send an uninterestRichard Nyberg
message when we no longer have any pending requests. This fixes a bug where two uniterest messages were sent to a peer that was no longer wanted in endgame.
2005-11-07Just bump version number.Richard Nyberg
2005-11-07Step one of many to make the sub systems more modular. This commit getsRichard Nyberg
rid of the global btpd struct. Some fields in the struct got a corresponding global variable whereas some was made static and moved to a module. The bandwidht algorithm also got tweaked. It now tries to fire the event at specific times. This was to make the code simpler. It'll probably have to be tweaked again :P First step to make btpd run from a directory where it'll keep the log, socket, configuration, data on the known torrents, etc. Btpd now uses flock on the pidfile instead of connecting to the socket in order to be reasonably sure that no other btpd runs in the same directory.
2005-10-10Set version to 0.7. Update CHANGES.Richard Nyberg
2005-10-08Add a new net state to get the index and begin fields from piece messagesRichard Nyberg
before we read the piece data. This can be used to test for junk earlier.
2005-10-08Have a peer event for keep alives too. Its only function is to log atm.Richard Nyberg
2005-10-08Wait until we don't have any unanswered requests on a peer beforeRichard Nyberg
sending an uninterest message.
2005-10-08Log keep alives.Richard Nyberg
2005-10-08Accept pieces even if they arrive in a different order than theRichard Nyberg
requests were sent.
2005-10-08Logging.Richard Nyberg
2005-10-08Remove unsent requests from the write queue when we receive a choke.Richard Nyberg
2005-10-06Enable all logging if DEBUG is defined.Richard Nyberg
2005-10-06More logging: discarded pieces and peer_id.Richard Nyberg
2005-10-06#include <limits.h> to be sure to get IOV_MAX.Richard Nyberg
Use the net_state enum and change some state names from NET_ to BTP_. Some minor type fixes.
2005-10-05Fix two bugs. Add some logging.Richard Nyberg
2005-10-05Remove unused constants.Richard Nyberg
2005-10-05Code shuffle.Richard Nyberg
2005-10-05Put the net state related data in its own sub struct.Richard Nyberg
Remove unneccesary use of struct io_buffer.
2005-10-05Constify some functions.Richard Nyberg
Remove an unneccesary net state. Pass the char buffer directly to net_state instead of struct io_buf.
2005-10-04net_state should return ssize_t not int.Richard Nyberg
removed some deug logging.
2005-10-04Better method of reading data from peers. btpd could send data to peersRichard Nyberg
that had closed the at least one direction of the connection. That feature was probably unneccesary. Removed it for now.
2005-10-04Rewrite of the code for receiving data from peers.Richard Nyberg
It's not quite how I want it yet, but it's getting there.
2005-10-01More logging.Richard Nyberg
2005-09-30Changes for 0.6.Richard Nyberg
2005-09-24In the transition to end game it's likely that we'll send an uniterestRichard Nyberg
message followed by an interest message. Optimize this but not sending those messages in that case. This is better becasue we don't risk to trigger a choke from the receiving peer.
2005-09-23Send a new request to a peer after sending cancel.Richard Nyberg
2005-09-21xRichard Nyberg
2005-09-21Bump version to 0.6.Richard Nyberg
2005-09-20* Allocate request messages on piece creation. The request objects canRichard Nyberg
be shared by several peers. At least in end game. * Link blocks with the peers we are loading them from and vice versa. * Limit the number of requests / peer in end game too. * Improve end game by using some sort of round robin for block requests.
2005-09-20Use the piece destructor.Richard Nyberg
2005-09-20Add some macros.Richard Nyberg
2005-09-10Simplify the autocrap somewhat. Always include the #defines neededRichard Nyberg
to build with glibc.
2005-08-30Remove a bad assert. The test can be true during normal operation.Richard Nyberg
2005-08-12Set an upper limit on how many piece messages to queue forRichard Nyberg
writing to a peer. If more requests arrive they will be ignored. When all pieces have been sent to the peer, in order for it not to wait on the ignored requests, its state will be reset by a choke followed by an unchoke message. Without this limit there was no bound on how much memory btpd would consume to satisfy a greedy peer.
2005-08-03Only allocate one have message for all peers, instead of one per peer.Richard Nyberg
2005-08-02* Rearrange some code. Mostly from net to net_buf and peer.Richard Nyberg
* Use the new net_bufs where it makes sense. * Take advantage of the reference count on net_bufs and only allocate the (un)choke and (un)interest messages once.
2005-08-02The fix for bitfield in r59 wasn't quite correct. Instead ofRichard Nyberg
being sent too early it could now be sent too late. Change version to 0.5 and document the bug fix.
2005-07-31Wrong logmask was used.Richard Nyberg
2005-07-31Set version to 0.4.Richard Nyberg
2005-07-31Add items for 0.4.Richard Nyberg
2005-07-30Spelling.Richard Nyberg