<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opentracker/ot_udp.c, branch v2.0.0</title>
<subtitle>An open and free bittorrent tracker
</subtitle>
<id>https://erdgeist.org/gitweb/opentracker/atom?h=v2.0.0</id>
<link rel='self' href='https://erdgeist.org/gitweb/opentracker/atom?h=v2.0.0'/>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/'/>
<updated>2026-11-02T20:14:02Z</updated>
<entry>
<title>Move the build sources into src/</title>
<updated>2026-11-02T20:14:02Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-11-02T19:50:24Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=ad541c67761b8aa6da1566802c347cac4018d0c2'/>
<id>urn:sha1:ad541c67761b8aa6da1566802c347cac4018d0c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Sweep the obsolete CVS Id keyword out of the tree</title>
<updated>2026-11-02T15:55:53Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-11-02T15:55:53Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=28d6bf03e1bb8c38fb7e09ade3c5a9c58d68182e'/>
<id>urn:sha1:28d6bf03e1bb8c38fb7e09ade3c5a9c58d68182e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Generalize the worker setup/runloop/teardown logic by adding a smol ot_worker helper</title>
<updated>2026-10-31T23:53:53Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-31T23:53:53Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=af0f2cb1be5aa10bb6a4bdd9f7ef4aa3950ecb31'/>
<id>urn:sha1:af0f2cb1be5aa10bb6a4bdd9f7ef4aa3950ecb31</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make tcp worker multithreaded, too</title>
<updated>2026-10-31T14:59:41Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-31T14:59:41Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=4d030871c004c917458b5e1c296edcfc689a2e66'/>
<id>urn:sha1:4d030871c004c917458b5e1c296edcfc689a2e66</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Revert last wake-up experiment. Having each udp worker wake up once a second to check if the tracker stops is wasteful</title>
<updated>2026-10-28T23:53:50Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-28T23:53:50Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=0f95c7d1056cab5bd8c6334cf601349ac4631457'/>
<id>urn:sha1:0f95c7d1056cab5bd8c6334cf601349ac4631457</id>
<content type='text'>
</content>
</entry>
<entry>
<title>With more workers blockingly waiting on udp sockets, we need to keep track of all sockets to shut them down on exit</title>
<updated>2026-10-28T22:31:07Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-28T22:31:07Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=772873104658182a5b76f5c0eed76047c62c6651'/>
<id>urn:sha1:772873104658182a5b76f5c0eed76047c62c6651</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Performance improvement, where it works: Let different udp worker threads have their own socket</title>
<updated>2026-10-28T16:08:17Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-28T16:08:17Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=f3f640b6bcf10ba463fc81cec97cfa212c520cfe'/>
<id>urn:sha1:f3f640b6bcf10ba463fc81cec97cfa212c520cfe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Plug in the new per-thread stats counter, also make sure that the ot_clean sleep does not stall tracker exit</title>
<updated>2026-10-27T20:32:24Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-27T20:32:24Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=6cbd21542cf7a751e6f0f38864e7e9eae8fa3b14'/>
<id>urn:sha1:6cbd21542cf7a751e6f0f38864e7e9eae8fa3b14</id>
<content type='text'>
</content>
</entry>
<entry>
<title>All OSes now do have a cheap monotonic clock, so no caching thread is needed.  Also add some relative time helpers</title>
<updated>2026-10-27T18:15:22Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-27T18:15:22Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=8fb1c09df1540aa3fca1148bed6a08ffc3090669'/>
<id>urn:sha1:8fb1c09df1540aa3fca1148bed6a08ffc3090669</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Send udp error packet in case of blacklisted torrent</title>
<updated>2026-10-27T02:20:19Z</updated>
<author>
<name>Dirk Engling</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-10-27T02:20:19Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/opentracker/commit/?id=6251f74a8d37fa896c8ad78b478ce7ae5f0273ae'/>
<id>urn:sha1:6251f74a8d37fa896c8ad78b478ce7ae5f0273ae</id>
<content type='text'>
</content>
</entry>
</feed>
