rpc

package
v2.0.6 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2022 License: Apache-2.0 Imports: 25 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 added in v2.0.6

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 added in v2.0.6

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 added in v2.0.6

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 added in v2.0.6

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 added in v2.0.6

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 added in v2.0.6

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

NewClientCredentials returns client transport credentials.

func NewClientCredentialsByCertify added in v2.0.6

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

NewClientCredentialsByCertify returns client transport credentials by certify.

func NewMuxTransportCredentials added in v2.0.6

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

func NewServerCredentialsByCertify added in v2.0.6

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

NewServerCredentialsByCertify returns server transport credentials by certify.

func RefresherStreamClientInterceptor added in v2.0.6

func RefresherStreamClientInterceptor(r Refresher) grpc.StreamClientInterceptor

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

func RefresherUnaryClientInterceptor added in v2.0.6

func RefresherUnaryClientInterceptor(r Refresher) grpc.UnaryClientInterceptor

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

func VsockDialer added in v2.0.3

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

VsockDialer is the dialer for vsock.

func WithTLSPreferClientHandshake added in v2.0.6

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

Types

type RateLimiterInterceptor added in v2.0.6

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

RateLimiterInterceptor is the interface for ratelimit interceptor.

func NewRateLimiterInterceptor added in v2.0.6

func NewRateLimiterInterceptor(qps float64, burst int64) *RateLimiterInterceptor

NewRateLimiterInterceptor returns a RateLimiterInterceptor instance.

func (*RateLimiterInterceptor) Limit added in v2.0.6

func (r *RateLimiterInterceptor) Limit() bool

Limit is the predicate which limits the requests.

type Refresher added in v2.0.6

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.
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.

Jump to

Keyboard shortcuts

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