summaryrefslogtreecommitdiff
path: root/ot_iovec.c
AgeCommit message (Collapse)Author
22 hoursReplace libowfat's event waiter with our own abstractionDirk Engling
It's with a heavy heart that I remove libowfat as my event library from opentracker. libowfat is what taught opentracker to walk and then fly. The tracker was literally standing on the shoulder of giants when I started writing it in 2006. For its time, the event abstraction was unparalleled and it has held up for many years, and it served the bittorrent community greatly. https://erdgeist.org/gitweb/opentracker/commit/?id=ad472597c569568bad0526d116b601dfcb36638c Unfortunately, it is very likely that libowfat will not be maintained anymore for the foreseeable future, it is already not easy to get its source from upstream and opentracker started receiving bug reports that I can not reasonably answer or patch. Before the project gets more dependent on the limitations of libowfat's current state, I need to teach opentracker to stand on its own feet and fly by itself. I've learned a great deal in the process and have even more respect now for what libowfat pioneered. The path for opentracker is cleared now. Ground work has already been laid in the migration process to support multi threaded http processing while keeping the aggressive reduction of syscalls alive that made the libowfat+opentracker combo so scalable. Here be some dragons, though: Even though there is a unit test suite now, the event loop's rewrite has not been battle tested yet. So you might want to hold up for a bit before jumping on the solo band wagon. What awaits at the end will be a long overdue v1.0, which will be named in honour of Felix.
24 hoursSecond run of making variable and function names more readable, urlencoder now matches overall naming schemeDirk Engling
3 daysDon't let the new iovec allocation dangle in case of a malloc failure for its new dataDirk Engling
4 daysFix a memory leak when freeing iovectorsDirk Engling
4 daysReplace endianess helpers and remove unused system and libowfat includedDirk Engling
* Replace libowfat big endian packers with htonl/ntohl * Turn bucket derivation in ot_mutex.c into its own helper * remove unused includes
2026-04-03turn all int offsets into size_tDirk Engling
2024-04-16Remove CVS version tags, they did not work anymore after moving to gitDirk Engling
2024-04-15clang-formatDirk Engling
2024-04-13First shot on chunked transfersDirk Engling
2021-04-25Remove old mman headerDirk Engling
2021-04-25Turn mmaps into mallocDirk Engling
2008-11-03Formattingerdgeist
2008-10-28Whitespace fixeserdgeist
2007-12-20Introduce some kind of versioningerdgeist
2007-11-23make ot_iovecs fix last interface more sane, also add a convenience function that handles the task of fixing, allocating and - if necessary - freeingerdgeist
2007-11-13Rather embarrasing arithmetic fuckuperdgeist
2007-11-12New large chunk allocation codeerdgeist