Commit Graph

129 Commits

Author SHA1 Message Date
rakshasa 3df7567ddf * Rewrote 'select' based polling in the client and finished the
'epoll' code. The client selects whichever is available on the current
platform.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@510 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-27 18:39:57 +00:00
rakshasa 91f4f022a9 * Finished implementing epoll support in the library. The client side
is abit hacky and normal select based polling is temporarily disabled.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@509 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-26 16:38:15 +00:00
rakshasa 424a20b3f5 * Changed the API to support different Poll objects and made
PollSelect available. Started work on PollEPoll.

* Fixed a bug that caused blank characters to be inserted into the
tracker request url.

* Added display of the options field in the peer info view.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@508 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-25 15:28:03 +00:00
rakshasa a3521e974d * Minor bug fixes and cleanup.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@507 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-25 00:33:00 +00:00
rakshasa e877d3487b * Adding framework for a modular polling class.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@505 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-24 16:47:30 +00:00
rakshasa 10ff3141d9 * Added posix_fallocate to File::reserve, though it is disabled by
default.

* Added some checks to the keyboard input code in the client, perhaps
it'll fix the bug some OpenBSD people are encountering.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@501 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-19 14:00:20 +00:00
rakshasa 81c36a7d96 * Using SocketAddress instead of std::string/uint16_t for peer
addresses.

* Tracker key is now an uint32_t instead of std::string.

* Added client address to UDP tracker requests.

* Added a check for FD_SETSIZE and _SC_OPEN_MAX in the client. A
warning is issued if max open files and sockets exceed either of these.

* Cleaned up the API, propably quite close to what will be in the
slush'ed API.

* Swapped emit and close order in TrackerHttp.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@499 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-18 17:22:17 +00:00
rakshasa 7a9010445b * Cleaned up torrent::ProtocolBuffer.
* Added enums to torrent::Tracker to allow the client to check
whetever the tracker is an UDP or HTTP tracker.

* Added "enable_udp_trackers" setting for disabling the use of UDP
trackers, enabled by default.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@498 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-13 18:51:19 +00:00
rakshasa d02ded1d4c * Changed function calls in torrent::Download to be const.
* Cleaned up the code that handles printing of download stats, uses a
char* for buffer for output more flexible concatenation. Closed
torrents are displayed correctly now.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@497 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-13 13:05:08 +00:00
rakshasa 568dcc0b91 * More work on support for UDP tracker.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@493 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-11 17:44:28 +00:00
rakshasa 8ca61a79ac * Saves file priorities along with fast-resume data.
* Cleaned up the shutdown code, moved some unnessesary stuff out of
the main loop.

* Made a TrackerBase and an empty TrackerUdp class. The proper
Tracker* class is selected based on the url.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@492 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-09 18:28:57 +00:00
rakshasa 26a7907f0a * Cleaned up torrent::Rate and moved it to the API. Changed various
parts of the API to return torrent::Rate instead of specific functions
for each stat.

* Use 600 second time span for peer rates.

* Added core::DownloadFactory which allows for an async http get and
changing of settings. This will allow the implementation of a
configuration screen when pressing "return", while the client is
downloading or finished downloading a torrent file.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@491 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-09 15:28:56 +00:00
rakshasa a195933a2a Fixing wrong return type.
Adding entry in faq.xml about -fomit-frame-pointer.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@488 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-07 10:53:40 +00:00
rakshasa 0a56ce6fff Fixed bug that caused negative quotas and cleaned up the quota code.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@486 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-05 18:10:37 +00:00
rakshasa fc8ca7df20 Fixed bug that cause exception to be thrown when erasing a download.
Moved to using SocketAddress within src/net.

Enabled SocketManager.

Changed API to use uint32_t instead of int.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@485 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-04 16:14:13 +00:00
rakshasa 0588e66eaf Added license exception for linking toward OpenSSL.
Disabled Mozilla's NSS SHA1 code and added OpenSSL SHA1, use NSS if
you need Debian-strict GPL compliance. Added note in README.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@484 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-01 22:41:16 +00:00
rakshasa 758bbc9faf Fixed memory leak of PeerConnection::m_read and
PeerConnection::m_write.

Moved src/net/protocol_* to src/peer/.

Moved over to using PeerConnectionBase and created factory class and
setting for seeder/leecher.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@483 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-01 15:38:39 +00:00
rakshasa 98ad8e8791 Cleaned up ui::Root, fixed updating and hiding status bar.
Using displayScheduler for updating windows, much more efficient.

Added saving of some parts of the state of torrents.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@482 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-30 16:42:22 +00:00
rakshasa 52884c3c39 Added throttle_interval option and backend.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@481 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-29 01:30:59 +00:00
rakshasa d04adf81ae The client is now responsible for sending completed to tracker, fixes
the problem where doing hash checking of completed torrents would
cause wrong messages to be sent.

Added option to the client for opening a random port in the supplied
port range.

Cleaned up ui::Download and ui::DownloadList handling of throttle keys
and status bar.

Added 60s timeout for handshakes.

Added ignore key function to input::Bindings.

Made the time span of torrent::Rate configurable.

Seperate torrent::Rate object for quick and slow time span in
torrent::ThrottleControl. Also limited the amount the throttle could
over-allocate per tick, not completely fixed.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@480 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-28 20:57:01 +00:00
rakshasa 2c5ce1989a Added setting for session directory.
Added support for quotation in settings.

Added key for changing the priority of all files in a torrent.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@477 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-26 19:51:20 +00:00
rakshasa 28b369dc83 Added man pages.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@475 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-25 21:50:32 +00:00
rakshasa 088398d6d6 Converted to new TaskScheduler.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@474 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-23 19:23:36 +00:00
rakshasa bc27fd19cb Cleaned up option_handler_rules.*, it now uses the slot_map_* properly.
Erases the screen upon quit.

Added option for checking the hash for completed downloads.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@471 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-21 16:23:34 +00:00
rakshasa 7e77635353 * Added slot map's for insert/erase, open/close, start/stop and
finished downloads in DownloadList, moved stuff from core::Manager to
the slot maps.

* Added check hash key ^r, though triggering check hash on finished
signals currently borks.

* Made tracker dump into an option.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@470 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-20 19:14:41 +00:00
rakshasa 9a3d75490f Adding tracker group cycle.
Adding creation date display.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@468 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-19 20:44:56 +00:00
rakshasa 7b1e0ec085 Bumped version.
Moved around include order.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@465 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-15 20:09:15 +00:00
rakshasa 2e83af28ac Fixed freebsd compile errors.
Added global rate display.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@463 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-15 09:28:52 +00:00
rakshasa fdc56e8f09 Added resource for max open files.
Fixed bug that could cause infinit looping on SIGBUS.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@460 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-10 21:37:06 +00:00
rakshasa 693ce38317 Cleaned up the API.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@456 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-07 22:20:03 +00:00
rakshasa 2e7333792f Changed api for listen ip and bind.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@454 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-07 01:19:18 +00:00
rakshasa 3092a583ca Adding a bunch of options.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@450 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-02 18:31:02 +00:00
rakshasa 0206ee066d Working option file, doesn't yet load from a sane place.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@449 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-01 13:33:44 +00:00
rakshasa 74930f86b3 Adding framework for an option parser.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@448 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-31 19:05:55 +00:00
rakshasa a2248f584f Cleaned up configure.ac and fixed it to properly handles CXXFLAGS.
Ignore SIGPIPE.

Fixed(?) bug in hash queue code when a queued torrent got
deleted. Also reorganized core::Manager to catch all
torrent::local_error's.

Fixed display bug in display::FileList which hid the last element.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@441 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-26 03:25:55 +00:00
rakshasa 528646cc02 Adding more faq entries.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@439 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-15 02:19:20 +00:00
rakshasa d8398eae5f Added FAQ entries.
Fixed bug that caused single file torrent to be saved in a seperate
directory when -d is used.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@437 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-11 18:40:26 +00:00
rakshasa d96173453d Fixed minor bugs in the resume save and start torrent code.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@434 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-07 00:15:54 +00:00
rakshasa 11bc3a9f80 Adding faq.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@432 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-05 16:31:46 +00:00
rakshasa d898b9db01 Adding controls for download throttle.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@426 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-02 01:20:51 +00:00
rakshasa 98676e5531 Removed choke delay in the peer list window.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@421 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-28 01:15:39 +00:00
rakshasa 2f77d1bafa Todo etc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@412 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-24 14:25:50 +00:00
rakshasa f139621c4c Switched from tracker dump in bencode to std::istream*.
Various *BSD port fixes.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@406 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-20 14:20:09 +00:00
rakshasa 70a73ea441 Minor bugfixes to find-file interface etc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@403 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-17 17:54:19 +00:00
rakshasa f8bbf8bfad Added "-d" to change the default root dir.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@388 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-09 21:48:59 +00:00
rakshasa 472c19fe67 Added errno.h.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@387 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-09 18:59:19 +00:00
rakshasa 8bf6a42048 Added "-b" for binding the listening ip addresse.
Throw an error if no listening port is opened.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@386 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-09 18:19:14 +00:00
rakshasa 874e46fc64 Proper '/' on the end of directories in the find-file window.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@381 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-03 16:36:19 +00:00
rakshasa fe11d1936d Fixed some *BSD compatibility bugs.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@371 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-26 17:44:22 +00:00
rakshasa 2f49249378 Minor fixes to autoconf.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@365 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-19 02:07:43 +00:00