| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-07-02 | Rework when a lookup is considered complete | Jesper Jensen | |
| 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. | |||
| 2025-06-29 | Free the keys SMH | Jesper Jensen | |
| 2025-06-29 | Free the nodeid label | Jesper Jensen | |
| 2025-06-23 | Print the invalid dest_len | Jesper Jensen | |
| 2025-06-21 | Add metric for peers fetched from table | Jesper Jensen | |
| It would be nice to know a little bit about how useful we are to the swarm. | |||
| 2025-06-21 | Lower load factor limit | Jesper Jensen | |
| 2025-06-21 | Fix the expire hashmap remove code | Jesper Jensen | |
| 2025-06-19 | Correct duplicate check | Jesper Jensen | |
| I though it was a cool feature that C allowed you to implicitly memcmp statically sized arrays. It turns out it doesn't, it was just comparing their pointers which are obviously not equal. | |||
| 2025-06-18 | Don't copy entries that are empty | Jesper Jensen | |
| 2025-06-18 | Add a debug printout of collision | Jesper Jensen | |
| 2025-06-15 | Discard the request when there's no timeout func | Jesper Jensen | |
| 2025-06-15 | Time out lookup requests too | Jesper Jensen | |
| 2025-06-14 | Add content-type to metrics page | Jesper Jensen | |
| 2025-05-11 | Discard lookup responses when it's completed | Jesper Jensen | |
| 2025-05-11 | Give nodes a little more timeout time | Jesper Jensen | |
| 2025-05-11 | Handle error from lookup | Jesper Jensen | |
| 2025-05-11 | Add metric for discarded packets | Jesper Jensen | |
| 2025-05-10 | Decrement requests in flight on clear | Jesper Jensen | |
| That's a bug | |||
| 2025-05-10 | Run the lookup once in a while | Jesper Jensen | |
| 2025-05-10 | Run the lookup on startup | Jesper Jensen | |
| 2025-05-10 | Reintroduce the workpool size metric | Jesper Jensen | |
| 2025-05-10 | Remove the routing table rebuild | Jesper Jensen | |
| 2025-05-10 | Rebuild the rounting table on startup | Jesper Jensen | |
| 2025-05-07 | Transfer the id after loading it | Jesper Jensen | |
| 2025-05-06 | Also check for unitialized lookup | Jesper Jensen | |
| 2025-05-06 | Add metric for wakeup time | Jesper Jensen | |
| 2025-05-06 | Reset the expire time of routing table on startup | Jesper Jensen | |
| 2025-05-05 | Also count current expired hashes in the next | Jesper Jensen | |
| 2025-05-04 | Expose the hash table size as a metric | Jesper Jensen | |
| 2025-05-04 | Remove the duplicate resize hack | Jesper Jensen | |
| It turns out this problem also included a bunch of other data corruption issues. I don't really know how that got in there, but I don't think this was a data-structure issue. We should revert to an assert to crash hard. We now have some checks that should give us a warning closer to when the corruption happens next time. | |||
| 2025-05-04 | Use atomic-rename trick to avoid clobbering state | Jesper Jensen | |
| 2025-05-04 | Check that the load is accurate | Jesper Jensen | |
| 2025-05-04 | time_t is apparently signed? | Jesper Jensen | |
| 2025-05-04 | Extract the expire metric out | Jesper Jensen | |
| 2025-05-04 | Add metric to track next hash expire | Jesper Jensen | |
| 2025-05-04 | Add some check for expiry time | Jesper Jensen | |
| 2025-05-04 | Support for longer transaction IDs | Jesper Jensen | |
| 2025-05-04 | Remove unused metric | Jesper Jensen | |
| 2025-05-04 | Remove some noisy debug tracing | Jesper Jensen | |
| 2025-05-04 | Add some code to assert that there are no dupes | Jesper Jensen | |
| 2025-05-04 | Drop duplicated peer entries | Jesper Jensen | |
| Apparently it's somehow possible for us to duplicate the peer entry. While we figure out how, let's just drop them instead of crashing. | |||
| 2025-05-04 | Set the metrics AFTER initializing SMH | Jesper Jensen | |
| 2025-05-04 | Refactor lookup init and add routing table metric | Jesper Jensen | |
| 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. | |||
| 2025-04-26 | Add end timeout to lookup function | Jesper Jensen | |
| 2025-04-16 | Add a first approximation of a lookup algorithm | Jesper Jensen | |
| 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. | |||
| 2025-04-15 | Reformat target generation | Jesper Jensen | |
| I think this reads nicer | |||
| 2025-04-15 | Expose the number of keepalive pings we send | Jesper Jensen | |
| 2025-04-14 | Don't crash on invalid dictionary | Jesper Jensen | |
| 2025-04-14 | Flush config more often to recover from crashes | Jesper Jensen | |
| We sometimes crash on bad input. While I fix that, it makes sense to at least be able to recover | |||
| 2025-04-14 | Add current hash metric | Jesper Jensen | |
| It seems like it would be nice to know how many infohashes we actually know about. Let's add a guage that tells us that directly. | |||
