In Mexico City I walked with Teor and Catalyst about a generic publish/subscribe system. Thanks for feedback from the network team, I have an initial API I like, and I've tried to do an implementation.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
It refactors the old branch considerably, and incorporates a bunch of your suggestions.
(It does not switch from using "auxdata" to using a subtype of "msg_t" for additional data as we had suggested, since I am not sure about that yet. We can do that part later if need be.)
b7358da11 namemap::
seems ok. I have a few misgivings about the type punning used for the temporary object, but it might be safe
d26a213c9 LD_MESG::
seems ok, except for needing to bump the total as mentioned above
749456940 semicolon eater::
seems ok. Maybe we want to uses this in ht.h, but that means changing all its users, so maybe not in this ticket
33c20c70d smartlist_grow::
seems ok, assuming the sizes bounds check in smartlist_ensure_capacity() is correct, which from a quick glance it seems to be
It builds but doesn't pass tests, because I haven't yet figured out how to hook up the pubsub mainloop stuff.
I commented in the pull request about most of difficulties I experienced with the code and consuming-developer documentation. There are a few more, but I think they're minor documentation issues.
I have some comments on architecture and design that it might not be worth delaying integration to address. I'll write them up soon.
How much work is it to finish hooking up pubsub to the mainloop and initialization code? Would you be willing to add commits to do that? It would be great to be able to test my POC. Thanks.
Rebased and checked my bootpubsub branch against the new pull request; seems good!
Right now I think these changes are good enough to merge. I still have comments about technical debt and long-term risks, but I'll put those in a separate ticket. (Some of these overlap with stuff Nick has sent me in private feedback.) It's probably better to clean those up later now that we have a working proof of concept of a consumer of this API.