The last three weeks have been a bit slower than normal. This is mostly due to spring break, and a family visit. I can, however, bring you some updates.
Most of the work in this time has been done in the branch
features/apply_delta. The goal of this branch is to bring a network-finding method without needing to implement locking in our chord module. In this branch, we added a method named
apply_delta, which, if the relevant key has no value, or a dictionary, will update based on a given dictionary. It's the equivalent of Python's
dict.update, or in this case
This is implemented to assist an in-progress
bootstrap() function. The idea is that you feed it the relevant constructor and arguments, and it attempts to find your network for you. This is accomplished by contacting a "bootstrap" network, which has routing tables stored by protocol ID. This network is going to be kindly seeded by both this server and Northern Michigan University, and we're always willing to accept volunteers.
This branch also (currently on the Python side only) adds a CLI which allows you to easily seed this network.
Four weeks from now, this code is due as my graduation project. That means that four weeks from now, this feature must be complete. While I would like to tackle #149 and make everything perfect, that is no longer realistic. The plan forward is the following:
- Solve #150
- Merge #148
- Start seeding the "bootstrap" network
- Submit code for project grade
- THEN solve #149
This plan leaves several other issues open, but this is only a short-term plan. It by necessity only covers about a month. At some point after that, probably after the presentation on it, I will publish a more long term plan. In the meantime, I will try and post every two weeks, as I'd planned before.