rpc

package
v1.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2023 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ForceTLSPolicy is both ClientHandshake and
	// ServerHandshake are only support tls.
	ForceTLSPolicy = "force"

	// PreferTLSPolicy is ServerHandshake supports tls and
	// insecure (non-tls), ClientHandshake will only support tls.
	PreferTLSPolicy = "prefer"

	// DefaultTLSPolicy is ServerHandshake supports tls
	// and insecure (non-tls), ClientHandshake will only support tls.
	DefaultTLSPolicy = "default"
)

Variables

This section is empty.

Functions

func ConvertErrorStreamClientInterceptor

func ConvertErrorStreamClientInterceptor(ctx context.Context, desc *grpc.StreamDesc, cc *grpc.ClientConn, method string, streamer grpc.Streamer, opts ...grpc.CallOption) (grpc.ClientStream, error)

ConvertErrorStreamClientInterceptor returns a new stream client interceptor that convert error when trigger custom error.

func ConvertErrorStreamServerInterceptor

func ConvertErrorStreamServerInterceptor(srv any, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error

ConvertErrorStreamServerInterceptor returns a new stream server interceptor that convert error when trigger custom error.

func ConvertErrorUnaryClientInterceptor

func ConvertErrorUnaryClientInterceptor(ctx context.Context, method string, req, reply any, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error

ConvertErrorUnaryClientInterceptor returns a new unary client interceptor that convert error when trigger custom error.

func ConvertErrorUnaryServerInterceptor

func ConvertErrorUnaryServerInterceptor(ctx context.Context, req any, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (any, error)

ConvertErrorUnaryServerInterceptor returns a new unary server interceptor that convert error when trigger custom error.

func IsVsock

func IsVsock(target string) bool

IsVsock returns whether the address is vsock.

func Listen

func Listen(netAddr dfnet.NetAddr) (net.Listener, error)

Listen wraps net.Listen with dfnet.NetAddr Example: Listen(dfnet.NetAddr{Type: dfnet.UNIX, Addr: "/var/run/df.sock"}) Listen(dfnet.NetAddr{Type: dfnet.TCP, Addr: ":12345"})

func ListenWithPortRange

func ListenWithPortRange(listen string, startPort, endPort int) (net.Listener, int, error)

ListenWithPortRange tries to listen a port between startPort and endPort, return net.Listener and listen port Example: ListenWithPortRange("0.0.0.0", 12345, 23456) ListenWithPortRange("192.168.0.1", 12345, 23456) ListenWithPortRange("192.168.0.1", 0, 0) // random port

func NewClientCredentials

func NewClientCredentials(tlsPolicy string, certs []tls.Certificate, pemRootCAs []byte) (credentials.TransportCredentials, error)

NewClientCredentials returns client transport credentials.

func NewClientCredentialsByCertify

func NewClientCredentialsByCertify(tlsPolicy string, pemRootCAs []byte, certifyClient *certify.Certify) (credentials.TransportCredentials, error)

NewClientCredentialsByCertify returns client transport credentials by certify.

func NewMuxTransportCredentials

func NewMuxTransportCredentials(c *tls.Config, opts ...func(m *muxTransportCredentials)) credentials.TransportCredentials

func NewServerCredentialsByCertify

func NewServerCredentialsByCertify(tlsPolicy string, tlsVerify bool, pemClientCAs []byte, certifyClient *certify.Certify) (credentials.TransportCredentials, error)

NewServerCredentialsByCertify returns server transport credentials by certify.

func RefresherStreamClientInterceptor

func RefresherStreamClientInterceptor(r Refresher) grpc.StreamClientInterceptor

StreamClientInterceptor returns a new stream client interceptor that refresh dynconfig addresses when calling error.

func RefresherUnaryClientInterceptor

func RefresherUnaryClientInterceptor(r Refresher) grpc.UnaryClientInterceptor

UnaryClientInterceptor returns a new unary client interceptor that refresh dynconfig addresses when calling error.

func VsockDialer

func VsockDialer(ctx context.Context, address string) (net.Conn, error)

VsockDialer is the dialer for vsock.

func WithTLSPreferClientHandshake

func WithTLSPreferClientHandshake(prefer bool) func(m *muxTransportCredentials)

Types

type RateLimiterInterceptor

type RateLimiterInterceptor struct {
	// contains filtered or unexported fields
}

RateLimiterInterceptor is the interface for ratelimit interceptor.

func NewRateLimiterInterceptor

func NewRateLimiterInterceptor(qps float64, burst int64) *RateLimiterInterceptor

NewRateLimiterInterceptor returns a RateLimiterInterceptor instance.

func (*RateLimiterInterceptor) Limit

func (r *RateLimiterInterceptor) Limit() bool

Limit is the predicate which limits the requests.

type Refresher

type Refresher interface {
	Refresh() error
}

Refresher is the interface for refreshing dynconfig.

Directories

Path Synopsis
cdnsystem
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
dfdaemon
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
health
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
inference
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
manager
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
scheduler
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
security
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
trainer
client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL