rpc

package
v2.0.6-beta.0 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

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

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