You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.
By submitting this issue, I confirm the following:
I have read and understood the contributor guide in kovri-docs.
I have checked that the issue I am reporting can be replicated or that the feature I am suggesting is not present.
I have checked opened or recently closed pull requests for existing solutions/implementations to my issue/suggestion.
After IRC collaboration with @anonimal & @brbzull0, it seems to me that HTTPMessage::SaveJumpServiceAddress should really be its own async proxy handler, HTTPProxyHandler::SaveAddress.
Refactoring saving addresses as a proxy handler will decouple HTTP message processing from AddressBook's timer + mutex (allowing us to get rid of the hack needed in #838).
The text was updated successfully, but these errors were encountered:
coneiric
changed the title
HTTPMessage: Separate Saving Jump Service Addresses from Message Processing
HTTP Proxy: Separate Saving Jump Service Addresses from Message Processing
Mar 29, 2018
Would it be better design to have the handler send the address over the socket as a NetDB DatabaseStoreMessage, or directly insert to the AddressBook?
edit: NetDB is a different submodule, should insert to AddressBook from an async proxy handler, after verifying the address is reachable. Thanks for clarification over IRC @anonimal 👍
Thought you might have been hinting at the former on IRC @anonimal (was mistaken, see above):
@anonimal Right off the bat, IMHO that should be at least 4 different classes. The socket/handler could hypothetically be templated, not specific to HTTP but we'll ignore that for now.
@anonimal From there you can almost certainly decouple the work even further.
@anonimal In that scheme, I don't see a reliance on inheritance but really there are multiple ways to deal with the issue.
@anonimal Did that make sense?
@anonimal Notice how I left out addressbook and storage, etc. This is intentional.
By submitting this issue, I confirm the following:
After IRC collaboration with @anonimal & @brbzull0, it seems to me that
HTTPMessage::SaveJumpServiceAddress
should really be its own async proxy handler,HTTPProxyHandler::SaveAddress
.Refactoring saving addresses as a proxy handler will decouple HTTP message processing from
AddressBook
's timer + mutex (allowing us to get rid of the hack needed in #838).References #340 & #844.
The text was updated successfully, but these errors were encountered: