- Update to upstream
v0.7.0(9/5/2023) release.
- Updates to the recent upstream
elixir-grpcthat 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-grpcv0.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_enableconfig is no longer defined in the application config, you should pass is as an option when spawning the supervisor, like in the example aboveadapter_optsnow expects a keyword list instead of a map.- Before:
[adapter_opts: %{http2_opts: %{keepalive: @keep_alive}}]
- After:
[adapter_opts: [http2_opts: %{keepalive: @keep_alive}]]