grpcgoogle.golang.org/grpc/experimental Index | Files | Directories

package experimental

import "google.golang.org/grpc/experimental"

Package experimental is a collection of experimental features that might have some rough edges to them. Housing experimental features in this package results in a user accessing these APIs as `experimental.Foo`, thereby making it explicit that the feature is experimental and using them in production code is at their own risk.

All APIs in this package are experimental.

Index

Functions

func BufferPool

func BufferPool(bufferPool mem.BufferPool) grpc.ServerOption

BufferPool returns a grpc.ServerOption that configures the server to use the provided buffer pool for parsing incoming messages and for temporary buffers when marshaling outgoing messages. By default, mem.DefaultBufferPool is used, and this option only exists to provide alternative buffer pool implementations to the server, such as more optimized size allocations etc. However, the default buffer pool is already tuned to account for many different use-cases.

Note: The following options will interfere with the buffer pool because they require a fully materialized buffer instead of a sequence of buffers: EnableTracing, and binary logging. In such cases, materializing the buffer will generate a lot of garbage, reducing the overall benefit from using a pool.

func WithBufferPool

func WithBufferPool(bufferPool mem.BufferPool) grpc.DialOption

WithBufferPool returns a grpc.DialOption that configures the use of bufferPool for parsing incoming messages on a grpc.ClientConn, and for temporary buffers when marshaling outgoing messages. By default, mem.DefaultBufferPool is used, and this option only exists to provide alternative buffer pool implementations to the client, such as more optimized size allocations etc. However, the default buffer pool is already tuned to account for many different use-cases.

Note: The following options will interfere with the buffer pool because they require a fully materialized buffer instead of a sequence of buffers: EnableTracing, and binary logging. In such cases, materializing the buffer will generate a lot of garbage, reducing the overall benefit from using a pool.

Source Files

experimental.go

Directories

PathSynopsis
experimental/credentialsPackage credentials provides experimental TLS credentials.
experimental/credentials/internalPackage internal defines APIs for parsing SPIFFE ID.
experimental/statsPackage stats contains experimental metrics/stats API's.
Version
v1.70.0 (latest)
Published
Jan 23, 2025
Platform
linux/amd64
Imports
3 packages
Last checked
17 hours ago

Tools for package owners.