<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dht.git/test/proto.c, branch master</title>
<subtitle>BitTorrent DHT peer
</subtitle>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/'/>
<entry>
<title>Add a simple API for lookups</title>
<updated>2025-07-18T07:32:33+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-07-18T07:32:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=69528489cddd27b4d4b9411d00b60cccc175b0e8'/>
<id>69528489cddd27b4d4b9411d00b60cccc175b0e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework when a lookup is considered complete</title>
<updated>2025-07-02T18:50:53+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-07-02T18:50:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=570181d2004e1d07a8a4e946f352d619a5f8895f'/>
<id>570181d2004e1d07a8a4e946f352d619a5f8895f</id>
<content type='text'>
Keep track of outstanding requests sent as part of a lookup and rely on
those individual request timeouts to signal the end of the lookup as
a whole. This also makes sure we have the lookup around for the entire
duration of all downstream requests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Keep track of outstanding requests sent as part of a lookup and rely on
those individual request timeouts to signal the end of the lookup as
a whole. This also makes sure we have the lookup around for the entire
duration of all downstream requests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Discard lookup responses when it's completed</title>
<updated>2025-05-11T20:29:46+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-05-11T20:29:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=a806da7ddbb62b70322db412089af8749ec4e741'/>
<id>a806da7ddbb62b70322db412089af8749ec4e741</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Give nodes a little more timeout time</title>
<updated>2025-05-11T17:13:28+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-05-11T17:09:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=d6318a064954f54530a87ae9a21a2cf78c32f7cb'/>
<id>d6318a064954f54530a87ae9a21a2cf78c32f7cb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor lookup init and add routing table metric</title>
<updated>2025-05-03T22:39:13+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-05-03T22:39:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=2c4af77f5f7231b560c344ccaff3cc73f0d616e9'/>
<id>2c4af77f5f7231b560c344ccaff3cc73f0d616e9</id>
<content type='text'>
I think it would be nice to see the detailed routing table occupancy.
I've added a metric that exposes the current occupancy of each bucket.
That should provide me some insight into the current distribution of
nodes and if we need to find a way to keep the closer buckets alive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I think it would be nice to see the detailed routing table occupancy.
I've added a metric that exposes the current occupancy of each bucket.
That should provide me some insight into the current distribution of
nodes and if we need to find a way to keep the closer buckets alive.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add end timeout to lookup function</title>
<updated>2025-04-26T10:22:30+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-04-26T10:22:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=bdb9db6458594d9265c86362d248e30fcf8ea26e'/>
<id>bdb9db6458594d9265c86362d248e30fcf8ea26e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a first approximation of a lookup algorithm</title>
<updated>2025-04-16T21:34:03+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-04-16T21:34:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=188666dc51233051985715b01631e069a7939442'/>
<id>188666dc51233051985715b01631e069a7939442</id>
<content type='text'>
This isn't really "correct" but it's probably going to work. It's
a rough implementation of the Kademlia lookup algorithm, with the
modification that we don't keep track of anything behind the frontier.
We are therefore counting on peers being ok with us potentially sending
them the "same" request multiple times. If they respond in a reasonable
time, the double request rate _should_ be minimal, but that of course
carries the risk that an already overloaded peer would get even more
queries.

I don't know. It's a first try at something. I need to see it work
before I write it off completely.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This isn't really "correct" but it's probably going to work. It's
a rough implementation of the Kademlia lookup algorithm, with the
modification that we don't keep track of anything behind the frontier.
We are therefore counting on peers being ok with us potentially sending
them the "same" request multiple times. If they respond in a reasonable
time, the double request rate _should_ be minimal, but that of course
carries the risk that an already overloaded peer would get even more
queries.

I don't know. It's a first try at something. I need to see it work
before I write it off completely.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add prometheus monitoring</title>
<updated>2025-04-12T08:21:20+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2025-04-12T07:35:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=04c5b9d5ef4723d469ea3472012787a8e2a5bdbd'/>
<id>04c5b9d5ef4723d469ea3472012787a8e2a5bdbd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>I don't know</title>
<updated>2025-04-12T08:21:20+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2024-01-28T08:01:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=cd622b745254baafa21adf4b1b724e079652321a'/>
<id>cd622b745254baafa21adf4b1b724e079652321a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>I don't remember</title>
<updated>2025-04-12T08:21:20+00:00</updated>
<author>
<name>Jesper Jensen</name>
<email>jesper@jnsn.dev</email>
</author>
<published>2023-07-23T10:15:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.jnsn.dev/cgit/dht.git/commit/?id=47d4780eb448f839fc6b0644135395f879080ba4'/>
<id>47d4780eb448f839fc6b0644135395f879080ba4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
