summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
15 hourshere's to you, buddyHEADv2.0.0masterDirk Engling
16 hoursI just noticed that we've already had a release v1.0.0, so we bump the version to 2.0.0Dirk Engling
16 hoursBind mcast socket to its group rather than the wildcardDirk Engling
18 hoursRefuse to start on a listen statement that does not parseDirk Engling
18 hoursRefuse to start on a livesync.cluster.group that is not oneDirk Engling
24 hoursLet a user pick their cluster's own multicast groupDirk Engling
24 hoursSend live sync to the port it listens onDirk Engling
25 hoursFix: Source, header and config file disagreed about which mcast group to join.Dirk Engling
25 hoursLet a tracker with live sync built in run without a clusterDirk Engling
27 hoursGive the live sync worker a real workstructDirk Engling
28 hoursAdd integration tests for live syncDirk Engling
33 hoursRetire old perl backend to the proxy, but don't delete it yetDirk Engling
33 hoursMove the build sources into src/Dirk Engling
33 hoursWith the implementation of the dual stack tracker, the old README is plain wrongDirk Engling
34 hoursTurn the bucket count into a knob, but keep cleaner wake-ups at a constant rateDirk Engling
36 hoursObey PREFIX and add a proper install targetDirk Engling
36 hoursMove the config man page to the proper sectionDirk Engling
37 hoursKeep the build's own flags out of CFLAGS, CPPFLAGS, LDFLAGS and LDLIBSDirk Engling
37 hoursSplit the Makefile into Mk fragments and fix the default targetDirk Engling
37 hoursSweep the obsolete CVS Id keyword out of the treeDirk Engling
2 daysRemove tracker id from stats, as wellDirk Engling
2 daysRemove version string from what is reported over httpDirk Engling
2 daysEnsure that the current version has a tag before allowing to roll a distribution tarballDirk Engling
2 daysThe proxy did not survive the dual stack migration, might be resurrected in v1.1.0Dirk Engling
2 daysRemove the batch syncer, live sync replaced it long agoDirk Engling
2 daysadd test for the version report fascilitiesDirk Engling
2 daysReport the version, event machanism and feature flags with -vDirk Engling
2 daysCarry the version into the tarballDirk Engling
2 daysForce rebuilds on the tracker when feature flags changeDirk Engling
2 daysPrepare a versioning mechanism for the tracker that works from tarballsDirk Engling
2 daysLive 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
4 daysMake the mainloop behave like every worker by claiming and releasing a socket being worked onDirk Engling
4 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
5 daysStart documenting design decisions and measurmentsDirk Engling
5 daysRemove references that you need libowfat to build opentrackerDirk Engling
5 daysgit ignore the poll flavor of the runner, tooDirk Engling
5 daysFix idle tests in presence of an accept filterDirk Engling
5 daysRemove stale xcode build fileDirk Engling
5 daysFix expiry tests under the new accept filtersDirk Engling
5 daysUse accept filter dataready instead of httpready on FreeBSDDirk Engling