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