Back to

Package grpc

Latest Go to latest
Published: Jul 30, 2020 | License: Apache-2.0 | Module:
Path Synopsis
attributes Package attributes defines a generic key/value store used in various gRPC components.
backoff Package backoff provides configuration options for backoff.
balancer Package balancer defines APIs for load balancing in gRPC.
balancer/base Package base defines a balancer base that can be used to build balancers with different picking algorithms.
balancer/grpclb Package grpclb defines a grpclb balancer.
balancer/grpclb/state Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes.
balancer/rls/internal Package rls implements the RLS LB policy.
balancer/rls/internal/adaptive Package adaptive provides functionality for adaptive client-side throttling.
balancer/rls/internal/cache Package cache provides an LRU cache implementation to be used by the RLS LB policy to cache RLS response data.
balancer/rls/internal/keys Package keys provides functionality required to build RLS request keys.
balancer/rls/internal/testutils/fakeserver Package fakeserver provides a fake implementation of the RouteLookupService, to be used in unit tests.
balancer/roundrobin Package roundrobin defines a roundrobin balancer.
balancer/weightedroundrobin Package weightedroundrobin defines a weighted roundrobin balancer.
benchmark Package benchmark implements the building blocks to setup end-to-end gRPC benchmarks.
benchmark/benchmain Package main provides benchmark with setting flags.
benchmark/benchresult To format the benchmark result: go run benchmark/benchresult/main.go resultfile To see the performance change based on a old result: go run benchmark/benchresult/main.go resultfile_old resultfile It will print the comparison result of intersection benchmarks between two files.
benchmark/client Package main provides a client used for benchmarking.
benchmark/flags Package flags provide convenience types and routines to accept specific types of flag values on the command line.
benchmark/latency Package latency provides wrappers for net.Conn, net.Listener, and net.Dialers, designed to interoperate to inject real-world latency into network connections.
benchmark/server Package main provides a server used for benchmarking.
benchmark/stats Package stats tracks the statistics associated with benchmark runs.
benchmark/worker Binary worker implements the benchmark worker that can turn into a benchmark client or server.
channelz/service Package service provides an implementation for channelz service server.
codes Package codes defines the canonical error codes used by gRPC.
connectivity Package connectivity defines connectivity semantics.
credentials Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
credentials/alts Package alts implements the ALTS credential support by gRPC library, which encapsulates all the state needed by a client to authenticate with a server using ALTS and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
credentials/alts/internal Package internal contains common core functionality for ALTS.
credentials/alts/internal/authinfo Package authinfo provide authentication information returned by handshakers.
credentials/alts/internal/conn Package conn contains an implementation of a secure channel created by gRPC handshakers.
credentials/alts/internal/handshaker Package handshaker provides ALTS handshaking functionality for GCP.
credentials/alts/internal/handshaker/service Package service manages connections between the VM application and the ALTS handshaker service.
credentials/alts/internal/testutil Package testutil include useful test utilities for the handshaker.
credentials/google Package google defines credentials for google cloud services.
credentials/internal Package internal contains credentials-internal code.
credentials/local Package local implements local transport credentials.
credentials/oauth Package oauth implements gRPC credentials using OAuth.
credentials/sts Package sts implements call credentials using STS (Security Token Service) as defined in
credentials/tls/certprovider Package certprovider defines APIs for certificate providers in gRPC.
encoding Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs.
encoding/gzip Package gzip implements and registers the gzip compressor during the initialization.
encoding/proto Package proto defines the protobuf codec.
grpclog Package grpclog defines logging for grpc.
grpclog/glogger Package glogger defines glog-based logging for grpc.
health Package health provides a service that exposes server's health and it must be imported to enable support for client-side health checks.
internal Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package.
internal/backoff Package backoff implement the backoff strategy for gRPC.
internal/balancer/stub Package stub implements a balancer for testing purposes.
internal/balancerload Package balancerload defines APIs to parse server loads in trailers.
internal/binarylog Package binarylog implementation binary logging as defined in
internal/buffer Package buffer provides an implementation of an unbounded buffer.
internal/cache Package cache implements caches to be used in gRPC.
internal/channelz Package channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data.
internal/credentials Package credentials defines APIs for parsing SPIFFE ID.
internal/envconfig Package envconfig contains grpc settings configured by environment variables.
internal/grpclog Package grpclog (internal) defines depth logging for grpc.
internal/grpcrand Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source.
internal/grpcsync Package grpcsync implements additional synchronization primitives built upon the sync package.
internal/grpctest Package grpctest implements testing helpers.
internal/grpcutil Package grpcutil provides a bunch of utility functions to be used across the gRPC codebase.
internal/hierarchy Package hierarchy contains functions to set and get hierarchy string from addresses.
internal/leakcheck Package leakcheck contains functions to check leaked goroutines.
internal/profiling Package profiling contains two logical components: buffer.go and profiling.go.
internal/profiling/buffer Package buffer provides a high-performant lock free implementation of a circular buffer used by the profiling code.
internal/resolver/dns Package dns implements a dns resolver to be installed as the default resolver in grpc.
internal/resolver/passthrough Package passthrough implements a pass-through resolver.
internal/serviceconfig Package serviceconfig contains utility functions to parse service config.
internal/status Package status implements errors returned by gRPC.
internal/syscall Package syscall provides functionalities that grpc uses to get low-level operating system stats/info.
internal/testutils Package testutils contains testing helpers.
internal/transport Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).
internal/wrr Package wrr contains the interface and common implementations of wrr algorithms.
interop Package interop contains functions used by interop client/server.
interop/alts/client This binary can only run on Google Cloud Platform (GCP).
interop/alts/server This binary can only run on Google Cloud Platform (GCP).
interop/client Binary client is an interop client.
interop/fake_grpclb This file is for testing only.
interop/grpclb_fallback Binary grpclb_fallback is an interop test client for grpclb fallback.
interop/http2 Binary http2 is used to test http2 error edge cases like GOAWAYs and RST_STREAMs Documentation:
interop/server Binary server is an interop server.
interop/xds/client Binary client for xDS interop tests.
interop/xds/server Binary server for xDS interop tests.
keepalive Package keepalive defines configurable parameters for point-to-point healthcheck.
metadata Package metadata define the structure of the metadata supported by gRPC library.
peer Package peer defines various peer information associated with RPCs and corresponding utils.
profiling Package profiling exposes methods to manage profiling within gRPC.
profiling/cmd Binary cmd is a command-line tool for profiling management.
profiling/service Package service defines methods to register a gRPC client/service for a profiling service that is exposed in the same server.
reflection Package reflection implements server reflection service.
reflection/grpc_testingv3 Package grpc_testingv3 is a generated protocol buffer package.
resolver Package resolver defines APIs for name resolution in gRPC.
resolver/dns Package dns implements a dns resolver to be installed as the default resolver in grpc.
resolver/manual Package manual defines a resolver that can be used to manually send resolved addresses to ClientConn.
resolver/passthrough Package passthrough implements a pass-through resolver.
serviceconfig Package serviceconfig defines types and methods for operating on gRPC service configs.
stats Package stats is for collecting and reporting various network and RPC stats.
status Package status implements errors returned by gRPC.
stress/client client starts an interop client to do stress test and a metrics server to report qps.
stress/metrics_client Binary metrics_client is a client to retrieve metrics from the server.
tap Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information.
test Package test contains tests.
test/bufconn Package bufconn provides a net.Conn implemented by a buffer and related dialing and listening functionality.
test/go_vet vet checks whether files that are supposed to be built on appengine running Go 1.10 or earlier import an unsupported package (e.g.
xds Package xds contains xds implementation.
xds/internal Package internal contains functions/structs shared by xds balancers/resolvers.
xds/internal/balancer Package balancer installs all the xds balancers.
xds/internal/balancer/balancergroup Package balancergroup implements a utility struct to bind multiple balancers into one balancer.
xds/internal/balancer/cdsbalancer Package cdsbalancer implements a balancer to handle CDS responses.
xds/internal/balancer/edsbalancer Package edsbalancer contains EDS balancer implementation.
xds/internal/balancer/lrs Package lrs implements load reporting service for xds balancer.
xds/internal/balancer/orca Package orca implements Open Request Cost Aggregation.
xds/internal/balancer/weightedtarget Package weightedtarget implements the weighted_target balancer.
xds/internal/balancer/weightedtarget/weightedaggregator Package weightedaggregator implements state aggregator for weighted_target balancer.
xds/internal/balancer/xdsrouting Package xdsrouting implements the routing balancer for xds.
xds/internal/client Package client implementation a full fledged gRPC client for the xDS API used by the xds resolver and balancer implementations.
xds/internal/client/bootstrap Package bootstrap provides the functionality to initialize certain aspects of an xDS client by reading a bootstrap file.
xds/internal/resolver Package resolver implements the xds resolver, that does LDS and RDS to find the cluster to use.
xds/internal/testutils Package testutils provides utility types, for use in xds tests.
xds/internal/testutils/fakeclient Package fakeclient provides a fake implementation of an xDS client.
xds/internal/testutils/fakeserver Package fakeserver provides a fake implementation of an xDS server.
xds/internal/version Package version defines supported xDS API versions.