summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
22 hoursGeneralize the worker setup/runloop/teardown logic by adding a smol ot_worker helperDirk Engling
27 hoursMake the dynamic accesslist readers release their line buffer and properly exitDirk Engling
28 hoursRefactor ot_workqueue out of ot_mutex, no behaviour changeDirk Engling
31 hoursMake the mainloop behave like every worker by claiming and releasing a socket being worked onDirk Engling
31 hoursMake tcp worker multithreaded, tooDirk Engling
46 hoursRefactor all tcp specific code into the ot_tcp module to prepare for multiple concurrent workersDirk Engling
47 hoursAdd test for new config paramsDirk Engling
47 hoursAdd config parsers for multiple tcp socket readers and a helper to see if we can offer it on the platformDirk Engling
2 daysIntroduce a fast path assuming that a tcp connection's payload already has arrived at accept timeDirk Engling
2 daysStart documenting design decisions and measurmentsDirk Engling
2 daysRemove references that you need libowfat to build opentrackerDirk Engling
2 daysgit ignore the poll flavor of the runner, tooDirk Engling
2 daysFix idle tests in presence of an accept filterDirk Engling
2 daysRemove stale xcode build fileDirk Engling
2 daysFix expiry tests under the new accept filtersDirk Engling
2 daysUse accept filter dataready instead of httpready on FreeBSDDirk Engling
2 daysDefer accepts until some data actually is thereDirk Engling
2 daysEnforce the invariant that each socket is only ever expected to be read from or written to, never bothDirk Engling
2 daysDon't treat a full send buffer as an error when sending http. Retry laterDirk Engling
3 daysReduce syscalls and add helper to count themDirk Engling
3 daysAdd an http load generatorDirk Engling
3 daysReduce number of per connection sys callsDirk Engling
3 daysCheck for free port in the udp integration test, also speed it up by a bitDirk Engling
3 daysConsolidate all tcp/http tear down into a single http_close function to prevent a rare UAF for expiring connectionsDirk Engling
4 daysBuild everything in one sweep, without intermediate object filesDirk Engling
4 daysadd wake-up tester that helped figuring out how to tickle hanging udp readersDirk Engling
4 daysRevert last wake-up experiment. Having each udp worker wake up once a second to check if the tracker stops is wastefulDirk Engling
4 daysFix a test that would over-report success rate when losing the race for cycles to the test targetDirk Engling
4 daysLivesync now also gets proper deinit codeDirk Engling
4 daysWith more workers blockingly waiting on udp sockets, we need to keep track of all sockets to shut them down on exitDirk Engling
4 daysDefault udp workers to 1, as it is the most sane choice everywhere, also reflect the new udp parallelism in the man pagesDirk Engling
4 daysLet the load tester log losses to better gauge performanceDirk Engling
4 daysAdd load tests to sanitize check the trackerlogic, based on udp requestsDirk Engling
4 daysPerformance improvement, where it works: Let different udp worker threads have their own socketDirk Engling
5 daysThe main event loop(s) now also catch an EINTR and return instead of blockingDirk Engling
5 daysAdd concurrency testDirk Engling
5 daysMake global torrent counter atomic and fix the setter and getterDirk Engling
5 daysPlug in the new per-thread stats counter, also make sure that the ot_clean sleep does not stall tracker exitDirk Engling
5 daysSecond half of moving the stat enum defines to trackerlogicDirk Engling
5 daysPrepare having each thread keep their own stats to avoid data racesDirk Engling
5 daysTurn malloc+memset into callocDirk Engling
5 daysSome more g_now_seconds occurrencesDirk Engling
5 daysForgot some g_now_seconds occurencesDirk Engling
5 daysAll OSes now do have a cheap monotonic clock, so no caching thread is needed. Also add some relative time helpersDirk Engling
5 daysWhile we're at it with the dynamic analyzers, add a tsanDirk Engling
6 daysAdd test for the revived keep aliveDirk Engling
6 daysFix some tests to match retired stats modes and wrong config file orderingDirk Engling
6 daysAdd test for the correct order of partial scrapesDirk Engling
6 daysAdd test for the error packet when a hash is blacklisted (the part I forgot in last commit)Dirk Engling
6 daysAdd test for the error packet when a hash is blacklistedDirk Engling