Go C#

gRPC Compression

Configure gRPC compression for Proto.Remote.

.NET

var remoteConfig =
    GrpcNetRemoteConfig
    .BindTo(advertisedHost)
    .WithChannelOptions(new GrpcChannelOptions
        {
            CompressionProviders = new[]
            {
                new GzipCompressionProvider(CompressionLevel.Fastest)
            }
        }
    )
    .WithProtoMessages(ProtosReflection.Descriptor);

Go

package main

import (
    "github.com/asynkron/protoactor-go/actor"
    "google.golang.org/grpc"
    "google.golang.org/grpc/encoding/gzip"

    remote "github.com/asynkron/protoactor-go/remote"
)

func main() {
    // Register gzip and enable it for both client and server
    _ = gzip.Name

    cfg := remote.Configure("127.0.0.1", 8080,
        remote.WithServerOptions(grpc.RPCCompressor(grpc.NewGZIPCompressor())),
        remote.WithDialOptions(grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name))),
    )

    remote.NewRemote(actor.NewActorSystem(), cfg).Start()
}

Topics
Icon