-
Notifications
You must be signed in to change notification settings - Fork 325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use mu-haskell to implement one initial federation request across backends #1319
Conversation
c004c87
to
63cc26d
Compare
Also attempt (only half-successfully) to massage Monad stacks. Help needed here.
* make use of, polysemy-ify, and unit test 'federateWith'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll keep reviewing later, probably tonight.
This makes the use more futureproof as it guards against any cleanup the `withResolver` function might want to do after a resolver is used. This means the whole federator needs to run inside `withResolver`, but I cannot really see any downsides to this.
Co-authored-by: fisx <mf@zerobuzz.net>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
General question: can we move https://github.com/wearezeta/documentation/blob/master/topics/federation/federation-design.md to wire-server/docs now? Or to wire-docs? The documentation repo is deprecated by confluence anyway.
More review chunks coming up!
Co-authored-by: fisx <mf@zerobuzz.net>
LocalCall -> Request RemoteCall -> FederatedRequest RouteToRemote -> Outward RouteToLocal and RouteToInternal -> Inward Function names have also been adjusted in many places. We still have modules externalServer internalServer and 'Remote' in federator. Perhaps we should also rename the 'remote' module?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As decided in the call, let's merge this.
@fisx (or others) feel free to continue to review this, let's try to incorporate the changes in further PRs.
See https://github.com/wireapp/wire-server/blob/db4c2351476c713f0367cee635faaaea10f9adf5/docs/reference/federation/pull-requests/1319_initial_federation_request_across_backends.md
This PR might be best viewed with a filter only for .hs and .proto files.