intermodal icon indicating copy to clipboard operation
intermodal copied to clipboard

Announce

Open atomgardner opened this issue 4 years ago • 15 comments

Here's some alpha quality work towards #255

Please take note of the "popular repository" indelibly front and centre on my Microsoft Github profile page.

atomgardner avatar Sep 06 '20 12:09 atomgardner

Currently every top-level item is in its own file, and I'd like to keep doing that. It use fzf-vim to navigate around the project, and it makes it very easy to jump between structs by filename, and not have to search within a file.

What do you think about creating a tracker submodule in tracker.rs, and then renaming UdpTrackerConn to Client and putting it into src/tracker/client.rs? There might be an HTTP tracker in the future, or there might not be, so it seems unnecessary to plan in advance for it.

It makes sense to put request/response pairs in the the same file, so, for example, AnnounceRequest and AnnounceResponse can both go in src/tracker/announce.rs.

State can go in src/tracker/state.rs.

More comments in a second, but I wanted to start with that high level thought.

casey avatar Sep 07 '20 03:09 casey

I also updated this branch with new commits from master, which I shouldn't have done, since it creates nasty merge commits. Feel free to rebase and force push.

casey avatar Sep 07 '20 06:09 casey

The only problem I see with your high level thought: all of the big Linux distros use https trackers.

atomgardner avatar Sep 08 '20 12:09 atomgardner

The only problem I see with your high level thought: all of the big Linux distros use https trackers.

Sorry, I don't follow. If we add an HTTPS tracker later, can't the code be reorganized then?

casey avatar Sep 08 '20 21:09 casey

Sorry, I don't follow. If we add an HTTPS tracker later, can't the code be reorganized then?

It totally can. I was stating the obvious fact that if imdl is to become super serious software, loved by users everywhere, an http tracker client must be included.

atomgardner avatar Sep 09 '20 14:09 atomgardner

It totally can. I was stating the obvious fact that if imdl is to become super serious software, loved by users everywhere, an http tracker client must be included.

100%!

casey avatar Sep 09 '20 18:09 casey

This build pipeline is fastidious. Let's see if I can fix the book building.

atomgardner avatar Sep 14 '20 21:09 atomgardner

There's a lot of generated documentation, and a lot of checks that make sure that all the documentation is consistent and/or up-to-date.

I think in this case it's complaining that imdl torrent announce doesn't have an entry in bin/gen/config.yaml:

https://github.com/casey/intermodal/blob/master/bin/gen/config.yaml#L5

casey avatar Sep 14 '20 21:09 casey

Interesting failure on the Windows machine. You totally saw it coming

atomgardner avatar Oct 02 '20 10:10 atomgardner

That's interesting! I'm surpised it would work on macos/linux, but fail on Windows.

casey avatar Oct 02 '20 22:10 casey

I think Window is right to send back the error. Binding to 0.0.0.0:0 was definitely the wrong address.

atomgardner avatar Oct 11 '20 07:10 atomgardner

Ahh, yeah, I guess the tests should bind to 127.0.0.1?

casey avatar Oct 11 '20 21:10 casey

Yo!! I've had a bunch of changes queued up for a while now, and I think this is getting closer to usable. Let me know how it's looking.

I'm also planning to push the Peer Protocol stuff up in the next few days.

atomgardner avatar Dec 27 '20 02:12 atomgardner

Awesome! It might take me a little bit, but I'll definitely get to this within the next few days.

casey avatar Dec 28 '20 00:12 casey

Heya heya---when 10 days is a few days plus holidays, you don't count the holidays.

I've pushed up your copy changes, but, I think, the "integration test" needs a look. And you should also try the command and confirm that it works.

atomgardner avatar Jan 07 '21 08:01 atomgardner

I think this has gone stale 😅

casey avatar Nov 19 '22 05:11 casey