Commit Graph

41 Commits (308e91a2fa45ad3714fbd39e6cacde464b0280a8)

Author SHA1 Message Date
Dirk Engling 2afc4893bf Prepare opentracker for dual stack capabilities
Dirk Engling 95f1780f0b Split huge iovecs over multiple io_batches
Dirk Engling e87978860b gzip iovecs always end on the boundary and don't need to be fixed
Dirk Engling bfc398182f Rework fullscrape worker, unifying non-gzip and gzip code was a bad idea
Dirk Engling d1e6e4486c incorporate a more verbose ascii dump, provided by Tom <tom@foscore.com>
erdgeist eed4a42292 Forgot variable declaration
erdgeist f6c9dd8a13 reduce zlib warnings to when there really is something failing
denis 1968f47d74 silenced some clang warnings
erdgeist c7ed890222 Fix white spaces
Introduce loading tracker states with -l
Alter tracker state to a human readable form
erdgeist eec51a872c Re-implement logging busy networks to handle v6 API.
Implement a state dump for later reparsing.
erdgeist 66c906d5d3 Add comments, rename our struct http_data h to cookie, all clientsockets to sock, all size_t from socket_recvs to byte_count. Make signal handler set default handler for the second SIGINT
erdgeist 131211b4da V6
erdgeist 2df09905f5 * opentracker now drops permissions in correct order and really chroots() if ran as root
* lock passing between add_peer_to_torrent and return_peers_for_torrent is now avoided by providing a more general add_peer_to_torrent_and_return_peers function that can be used with NULL parameters to not return any peers (in sync case)
* in order to keep a fast overview how many torrents opentracker maintains, every mutex_bucket_unlock operation expects an additional integer parameter that tells ot_mutex.c how many torrents have been added or removed. A function mutex_get_torrent_count has been introduced.
erdgeist bca8bee623 Fix: auto increment in += is not a post increment...
erdgeist 5f5007883e Fix post increase on wrong pointer type.
erdgeist c6947b160f Handle program end more politely
erdgeist 08c7162783 Renamed OT_FLAG to OT_PEERFLAG to make code easier to read
Introduced READ16/32 and WRITE16/32 makros to abstract loading/storing from unaligned addresses away on cpu's that can actually load/store everywhere
Removed all unnecessary memmoves, especially where it only moved 6 bytes in inner loop. I replaced them with WRITE16/32(READ16/32()) makros
erdgeist 334c6e4bbb The BIG refactoring [tm]. Too many changes to count them. If it doesn't suite you, revert to last version.
erdgeist daaee855b2 Whitespace fixes
erdgeist 0deb06d544 Reverting last commit. Debug effect not seen.
erdgeist ec0affa97d allow threads to be named. not posix compliant.
erdgeist 01ea1648d8 Cosmetics
erdgeist e534db03c6 added live sync code
added a config file parser
added tracker id
changed WANT_CLOSED_TRACKER and WANT_BLACKLIST into WANT_ACCESS_WHITE and WANT_ACCESS_BLACK
changed WANT_TRACKER_SYNC to WANT_SYNC_BATCH and added WANT_SYNC_LIVE
added an option to switch off fullscrapes

cleaned up many internal hardcoded values, like PROTO_FLAG,
denis 3655976223 use a more reasonable compression level
erdgeist 7050e027d3 sys/param.h needed under openbsd
erdgeist c28cf398fd Introduce some kind of versioning
erdgeist a146a32885 Be a little more verbose about why increases fail
erdgeist 89f291566b Drop ot_{byte,word,dword} and use uint{8,16,32}_t
erdgeist 9d86780a74 Fixed call to deflate() with wrong flag in endgame
erdgeist e3103d30f7 Debug settings for chunk size were _way_ to low for production
erdgeist 8f7ef4b2ea Completely rewritten fullscrape code. All assumptions on how deflate() works were a little naive. Needs more error checking and testing.
erdgeist b1c8723609 Introducing compression for fullscrapes and tpbs stats
erdgeist a85798279b Documentation fix
erdgeist 6d09527ed8 Fullscrape now cleanly finalizes its thread
erdgeist 3528752c7b Missing include for htonl()
erdgeist 8d5f221785 Full scrapes are now being delivered in different modes, as triggered by stats&mode=tpbs
erdgeist 6458a37d82 introducing multithreaded full scrape creation.
erdgeist 91a3a3b342 Increase full scrape chunk size to 1/2meg
erdgeist 3eb88c5cc6 Fix typos in documenation
erdgeist 71e9ec887c Some in code documentation to make Denis happy :)
erdgeist 31f5b923eb Fullscrape is thread safe now.