summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
15 hoursSend live sync to the port it listens onDirk Engling
16 hoursFix: Source, header and config file disagreed about which mcast group to join.Dirk Engling
16 hoursLet a tracker with live sync built in run without a clusterDirk Engling
18 hoursGive the live sync worker a real workstructDirk Engling
18 hoursAdd integration tests for live syncDirk Engling
24 hoursRetire old perl backend to the proxy, but don't delete it yetDirk Engling
24 hoursMove the build sources into src/Dirk Engling
24 hoursWith the implementation of the dual stack tracker, the old README is plain wrongDirk Engling
24 hoursTurn the bucket count into a knob, but keep cleaner wake-ups at a constant rateDirk Engling
27 hoursObey PREFIX and add a proper install targetDirk Engling
27 hoursMove the config man page to the proper sectionDirk Engling
28 hoursKeep the build's own flags out of CFLAGS, CPPFLAGS, LDFLAGS and LDLIBSDirk Engling
28 hoursSplit the Makefile into Mk fragments and fix the default targetDirk Engling
28 hoursSweep the obsolete CVS Id keyword out of the treeDirk Engling
42 hoursRemove tracker id from stats, as wellDirk Engling
42 hoursRemove version string from what is reported over httpDirk Engling
42 hoursEnsure that the current version has a tag before allowing to roll a distribution tarballDirk Engling
42 hoursThe proxy did not survive the dual stack migration, might be resurrected in v1.1.0Dirk Engling
42 hoursRemove the batch syncer, live sync replaced it long agoDirk Engling
43 hoursadd test for the version report fascilitiesDirk Engling
43 hoursReport the version, event machanism and feature flags with -vDirk Engling
43 hoursCarry the version into the tarballDirk Engling
43 hoursForce rebuilds on the tracker when feature flags changeDirk Engling
43 hoursPrepare a versioning mechanism for the tracker that works from tarballsDirk Engling
47 hoursLive logging networks was defunc for a while, does not work with v6, so we remove itDirk Engling
3 daysAdd some tests for the actual trackerlogic, something I put off for too longDirk Engling
3 daysAdd tests for the ot_mutex code, it didn't have any until nowDirk Engling
3 daysRemove some obsolete commentsDirk Engling
3 daysGeneralize the worker setup/runloop/teardown logic by adding a smol ot_worker helperDirk Engling
3 daysMake the dynamic accesslist readers release their line buffer and properly exitDirk Engling
3 daysRefactor ot_workqueue out of ot_mutex, no behaviour changeDirk Engling
3 daysMake the mainloop behave like every worker by claiming and releasing a socket being worked onDirk Engling
3 daysMake tcp worker multithreaded, tooDirk Engling
This shamelessly steals the model established in the UDP workers, i.e. if the kernel is able to bind multiple listening sockets to the same endpoint, we will share them across threads. If it can't, all threads will accept on the same socket. The fast path handles most of the connections, only the rare case of no data yet on the socket is offloaded to the slow path (which used to be the mainloop) for completion. This scales nicely, as the higher the load is, the higher chances are that an accept happens only after the network roundtrip to the peer completes, leading to more connections that already have data waiting for us. We also consolidate the workstruct init and deinit code, preparation for later unifying all thread state structs for all protocols (mca, udc and tcp). The config file gains a per tcp connection worker count and some docs explaining what this knob buys and costs, nudging the user to either keep it 0 or dial it up to at least 2.
4 daysRefactor all tcp specific code into the ot_tcp module to prepare for multiple concurrent workersDirk Engling
4 daysAdd test for new config paramsDirk Engling
4 daysAdd config parsers for multiple tcp socket readers and a helper to see if we can offer it on the platformDirk Engling
4 daysIntroduce a fast path assuming that a tcp connection's payload already has arrived at accept timeDirk Engling
4 daysStart documenting design decisions and measurmentsDirk Engling
4 daysRemove references that you need libowfat to build opentrackerDirk Engling
4 daysgit ignore the poll flavor of the runner, tooDirk Engling
4 daysFix idle tests in presence of an accept filterDirk Engling
4 daysRemove stale xcode build fileDirk Engling
4 daysFix expiry tests under the new accept filtersDirk Engling
4 daysUse accept filter dataready instead of httpready on FreeBSDDirk Engling
4 daysDefer accepts until some data actually is thereDirk Engling
4 daysEnforce the invariant that each socket is only ever expected to be read from or written to, never bothDirk Engling
4 daysDon't treat a full send buffer as an error when sending http. Retry laterDirk Engling
5 daysReduce syscalls and add helper to count themDirk Engling
5 daysAdd an http load generatorDirk Engling
5 daysReduce number of per connection sys callsDirk Engling