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
Clients should be generated outside of the protocol and server definitions module and based on the .protofiles generated by the Protocol definition in 1. Define Protocol Format Definitions #9
A client has a direct correlation to a @service definition and its sole concern is communicating with the remote @service. A client may be generated as shown below:
@client[Greeter] traitGreeterClient
Combinators instrospected from the protocol definitions and made synthetic in the client trait via macro should expose operation as @free algebras with default implementations provided as implicit instances in the client's companion. These handlers as everything in Freestyle should be overridable and able to target any M[_] : AsyncContext capable monads. (Streaming capabilities TBD).
3. Clients should remain scala.js compatible (it'll be addressed in #21)
4. Clients synthetic handlers should impose implicit evidence of the remote endpoint configuration for the service.
Related to #9
.proto
files generated by the Protocol definition in 1. Define Protocol Format Definitions #9Combinators instrospected from the protocol definitions and made synthetic in the client trait via macro should expose operation as @free algebras with default implementations provided as implicit instances in the client's companion. These handlers as everything in Freestyle should be overridable and able to target any
M[_] : AsyncContext
capable monads. (Streaming capabilities TBD).3. Clients should remain scala.js compatible (it'll be addressed in #21)
4. Clients synthetic handlers should impose implicit evidence of the remote endpoint configuration for the service.
The text was updated successfully, but these errors were encountered: