- Update to upstream
v0.7.0
(9/5/2023) release.
- Updates to the recent upstream
elixir-grpc
that includes Mint supportf5f5fab4
Now, when spawning your connections it is possible for developers to choose which adapter to use.
GRPC.Stub.connect("localhost:5001", adapter: GRPC.Client.Adapters.Mint)
# or (Gun is the current default adapter)
GRPC.Stub.connect("localhost:5001")
# the above is has the same effect as:
GRPC.Stub.connect("localhost:5001", adapter: GRPC.Client.Adapters.Gun)
Both clients will solve the same problems and recent load tests showed almost no difference of performance between them.
The reason why the additional Mint
adapter is introduced, is because we are
attempting to integrate with LaunchDarkly and their erlang client is
incompatible with the current version of Gun which elixir-grpc
is using.
Using an adapter based on Mint
resolves the gun
version conflict.
- Updates to the recent upstream release of
elixir-grpc
v0.5.0
- Spawn supervisor now expects a Keyword list instead of a tuple.
- Before:
def children, do: [ # ... other supervisors {GRPC.Server.Supervisor, {MyCoolEndPoint, @my_grpc_port}} ]
- Now:
def children, do: [ # ... other supervisors {GRPC.Server.Supervisor, endpoint: MyEndpoint, port: @my_grpc_port, server_enabled: true} ]
server_enable
config is no longer defined in the application config, you should pass is as an option when spawning the supervisor, like in the example aboveadapter_opts
now expects a keyword list instead of a map.- Before:
[adapter_opts: %{http2_opts: %{keepalive: @keep_alive}}]
- After:
[adapter_opts: [http2_opts: %{keepalive: @keep_alive}]]