grpc: google.golang.org/grpc/internal Index | Files | Directories

package internal

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

Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. It must not import any grpc symbols to avoid circular dependencies.

Index

Package Files

internal.go

Constants

const (
    // CredsBundleModeFallback switches GoogleDefaultCreds to fallback mode.
    CredsBundleModeFallback = "fallback"
    // CredsBundleModeBalancer switches GoogleDefaultCreds to grpclb balancer
    // mode.
    CredsBundleModeBalancer = "balancer"
    // CredsBundleModeBackendFromBalancer switches GoogleDefaultCreds to mode
    // that supports backend returned by grpclb balancer.
    CredsBundleModeBackendFromBalancer = "backend-from-balancer"
)

Variables

var (
    // WithResolverBuilder is set by dialoptions.go
    WithResolverBuilder interface{} // func (resolver.Builder) grpc.DialOption
    // WithHealthCheckFunc is set by dialoptions.go
    WithHealthCheckFunc interface{} // func (HealthChecker) DialOption
    // HealthCheckFunc is used to provide client-side LB channel health checking
    HealthCheckFunc HealthChecker
    // BalancerUnregister is exported by package balancer to unregister a balancer.
    BalancerUnregister func(name string)
    // KeepaliveMinPingTime is the minimum ping interval.  This must be 10s by
    // default, but tests may wish to set it lower for convenience.
    KeepaliveMinPingTime = 10 * time.Second
    // StatusRawProto is exported by status/status.go. This func returns a
    // pointer to the wrapped Status proto for a given status.Status without a
    // call to proto.Clone(). The returned Status proto should not be mutated by
    // the caller.
    StatusRawProto interface{} // func (*status.Status) *spb.Status
    // NewRequestInfoContext creates a new context based on the argument context attaching
    // the passed in RequestInfo to the new context.
    NewRequestInfoContext interface{} // func(context.Context, credentials.RequestInfo) context.Context
    // ParseServiceConfigForTesting is for creating a fake
    // ClientConn for resolver testing only
    ParseServiceConfigForTesting interface{} // func(string) *serviceconfig.ParseResult
)

type HealthChecker Uses

type HealthChecker func(ctx context.Context, newStream func(string) (interface{}, error), setConnectivityState func(connectivity.State, error), serviceName string) error

HealthChecker defines the signature of the client-side LB channel health checking function.

The implementation is expected to create a health checking RPC stream by calling newStream(), watch for the health status of serviceName, and report it's health back by calling setConnectivityState().

The health checking protocol is defined at: https://github.com/grpc/grpc/blob/master/doc/health-checking.md

Directories

PathSynopsis
backoffPackage backoff implement the backoff strategy for gRPC.
balancerloadPackage balancerload defines APIs to parse server loads in trailers.
binarylogPackage binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md.
bufferPackage buffer provides an implementation of an unbounded buffer.
cachePackage cache implements caches to be used in gRPC.
channelzPackage channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data.
envconfigPackage envconfig contains grpc settings configured by environment variables.
grpcrandPackage grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source.
grpcsyncPackage grpcsync implements additional synchronization primitives built upon the sync package.
grpctestPackage grpctest implements testing helpers.
leakcheckPackage leakcheck contains functions to check leaked goroutines.
proto/grpc_service_config
resolver/dnsPackage dns implements a dns resolver to be installed as the default resolver in grpc.
resolver/passthroughPackage passthrough implements a pass-through resolver.
syscallPackage syscall provides functionalities that grpc uses to get low-level operating system stats/info.
testutilsPackage testutils contains testing helpers.
transportPackage transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).
wrr

Package internal imports 3 packages (graph) and is imported by 25 packages. Updated 2019-11-27. Refresh now. Tools for package owners.