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
After discussing the best approach it makes sense to divide the RPC framework into three main building blocks. Protocols, Server, and Client.
This issue addresses some of the main concerns when defining the protocol piece.
Protocols should be defined in a separate module to avoid server and client specific dependencies.
Protocols will be defined as scala traits in code and will derive proto files automatically for other langs and frameworks to consume those. This will enable Freestyle microservices to be consumed from any lang that or framework that support codegen from proto file.
The proposed protocol declaration for a service is as follows:
The protocol module will also be responsible for including @free representations of the traits to be used in a process outside of RPC concerns. A special version of the abstract handler will also be generated containing the stubs necessary for Servers to be hydrated given a list of @service protocol types.
Is not the responsibility of this module to generate any kind of server or client code and should remain decoupled from those concerns.
The text was updated successfully, but these errors were encountered:
After discussing the best approach it makes sense to divide the RPC framework into three main building blocks. Protocols, Server, and Client.
This issue addresses some of the main concerns when defining the protocol piece.
proto
files automatically for other langs and frameworks to consume those. This will enable Freestyle microservices to be consumed from any lang that or framework that support codegen from proto file.The proposed protocol declaration for a service is as follows:
The service and messages definitions above will generate the following
.proto
files@free
representations of the traits to be used in a process outside of RPC concerns. A special version of the abstract handler will also be generated containing the stubs necessary for Servers to be hydrated given a list of @service protocol types.The text was updated successfully, but these errors were encountered: