grpcc

package
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2021 License: Apache-2.0 Imports: 27 Imported by: 9

Documentation

Index

Constants

View Source
const (
	Name = "grpcc"

	// DefaultTimeout 默认的连接超时时间
	DefaultTimeout = 3 * time.Second
)

Variables

This section is empty.

Functions

func HealthCheck

func HealthCheck(srv string, conn *grpc.ClientConn) error

func NewDirect

func NewDirect(addr string, opts ...func(cfg *Cfg)) (*grpc.ClientConn, error)

Types

type Cfg

type Cfg struct {
	Registry             string        `json:"registry"`
	MaxMsgSize           int           `json:"max_msg_size"`
	Codec                string        `json:"codec"`
	Compressor           string        `json:"compressor"`
	Decompressor         string        `json:"decompressor"`
	Balancer             string        `json:"balancer"`
	BackoffMaxDelay      time.Duration `json:"backoff_max_delay"`
	Timeout              time.Duration `json:"timeout"`
	DialTimeout          time.Duration `json:"dial_timeout"`
	MaxDelay             time.Duration `json:"max_delay"`
	UserAgent            string        `json:"user_agent"`
	Authority            string        `json:"authority"`
	ChannelzParentID     int64         `json:"channelz_parent_id"`
	DisableServiceConfig bool          `json:"disable_service_config"`
	DefaultServiceConfig string        `json:"default_service_config"`
	DisableRetry         bool          `json:"disable_retry"`
	MaxHeaderListSize    uint32        `json:"max_header_list_size"`
	DisableHealthCheck   bool          `json:"disable_health_check"`
	BalancerName         string        `json:"balancer_name"`
	Insecure             bool          `json:"insecure"`
	Block                bool          `json:"block"`
	IdleNum              uint32        `json:"idle_num"`
	WriteBuffer          int           `json:"write_buffer"`
	ReadBuffer           int           `json:"read_buffer"`
	WindowSize           int32         `json:"window_size"`
	ConnWindowSize       int32         `json:"conn_window_size"`

	// MaxRecvMsgSize maximum message that Client can receive (4 MB).
	MaxRecvMsgSize     int                            `json:"max_recv_msg_size"`
	NoProxy            bool                           `json:"no_proxy"`
	Proxy              bool                           `json:"proxy"`
	ConnectParams      connectParams                  `json:"connect_params"`
	ClientParameters   clientParameters               `json:"client_parameters"`
	Call               callParameters                 `json:"call"`
	Middlewares        []string                       `json:"-"`
	DialOptions        []grpc.DialOption              `json:"-"`
	UnaryInterceptors  []grpc.UnaryClientInterceptor  `json:"-"`
	StreamInterceptors []grpc.StreamClientInterceptor `json:"-"`
}

Cfg ...

func DefaultCfg

func DefaultCfg(opts ...func(cfg *Cfg)) *Cfg

func (Cfg) Build

func (t Cfg) Build(target string) (conn *grpc.ClientConn, gErr error)

func (Cfg) BuildDirect

func (t Cfg) BuildDirect(target string) (conn *grpc.ClientConn, gErr error)

BuildDirect 直连模式

func (Cfg) ToOpts

func (t Cfg) ToOpts() []grpc.DialOption

type Client

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

func GetClient

func GetClient(service string, opts ...func(cfg *Cfg)) *Client

func (*Client) CheckHealth

func (t *Client) CheckHealth(opts ...grpc.CallOption) (*grpc_health_v1.HealthCheckResponse, error)

func (*Client) Close

func (t *Client) Close() error

func (*Client) Get

func (t *Client) Get() (_ grpc.ClientConnInterface, err error)

Get new grpc Client

func (*Client) Invoke

func (t *Client) Invoke(ctx context.Context, method string, args interface{}, reply interface{}, opts ...grpc.CallOption) error

func (*Client) Kind

func (t *Client) Kind() string

func (*Client) NewStream

func (t *Client) NewStream(ctx context.Context, desc *grpc.StreamDesc, method string, opts ...grpc.CallOption) (grpc.ClientStream, error)

func (*Client) UpdateResObj

func (t *Client) UpdateResObj(val interface{})

Directories

Path Synopsis
lb
p2c

Jump to

Keyboard shortcuts

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