Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // WithDialOption is an alias of internal.WithDialOption. WithDialOption = internal.WithDialOption // WithNonBlock sets the dialing to be nonblock. WithNonBlock = internal.WithNonBlock // WithStreamClientInterceptor is an alias of internal.WithStreamClientInterceptor. WithStreamClientInterceptor = internal.WithStreamClientInterceptor // WithTimeout is an alias of internal.WithTimeout. WithTimeout = internal.WithTimeout // WithTransportCredentials return a func to make the gRPC calls secured with given credentials. WithTransportCredentials = internal.WithTransportCredentials // WithUnaryClientInterceptor is an alias of internal.WithUnaryClientInterceptor. WithUnaryClientInterceptor = internal.WithUnaryClientInterceptor )
Functions ¶
func DontLogContentForMethod ¶
func DontLogContentForMethod(method string)
DontLogContentForMethod disable logging content for given method.
func SetClientSlowThreshold ¶
SetClientSlowThreshold sets the slow threshold on client side.
func SetServerSlowThreshold ¶
SetServerSlowThreshold sets the slow threshold on server side.
Types ¶
type Client ¶
Client is an alias of internal.Client.
func MustNewClient ¶
func MustNewClient(c RpcClientConf, options ...ClientOption) Client
MustNewClient returns a Client, exits on any error.
func NewClient ¶
func NewClient(c RpcClientConf, options ...ClientOption) (Client, error)
NewClient returns a Client.
func NewClientWithTarget ¶
func NewClientWithTarget(target string, opts ...ClientOption) (Client, error)
NewClientWithTarget returns a Client with connecting to given target.
type ClientOption ¶
type ClientOption = internal.ClientOption
ClientOption is an alias of internal.ClientOption.
type RpcClient ¶
type RpcClient struct {
// contains filtered or unexported fields
}
A RpcClient is a rpc client.
func (*RpcClient) Conn ¶
func (rc *RpcClient) Conn() *grpc.ClientConn
Conn returns the underlying grpc.ClientConn.
type RpcClientConf ¶
type RpcClientConf struct { Etcd discov.EtcdConf `json:",optional"` Endpoints []string `json:",optional"` Target string `json:",optional"` App string `json:",optional"` Token string `json:",optional"` NonBlock bool `json:",optional"` Timeout int64 `json:",default=2000"` }
A RpcClientConf is a rpc client config.
func NewDirectClientConf ¶
func NewDirectClientConf(endpoints []string, app, token string) RpcClientConf
NewDirectClientConf returns a RpcClientConf.
func NewEtcdClientConf ¶
func NewEtcdClientConf(hosts []string, key, app, token string) RpcClientConf
NewEtcdClientConf returns a RpcClientConf.
func (RpcClientConf) BuildTarget ¶
func (cc RpcClientConf) BuildTarget() (string, error)
BuildTarget builds the rpc target from the given config.
func (RpcClientConf) HasCredential ¶
func (cc RpcClientConf) HasCredential() bool
HasCredential checks if there is a credential in config.
type RpcProxy ¶
type RpcProxy struct {
// contains filtered or unexported fields
}
A RpcProxy is a rpc proxy.
type RpcServer ¶
type RpcServer struct {
// contains filtered or unexported fields
}
A RpcServer is a rpc server.
func MustNewServer ¶
func MustNewServer(c RpcServerConf, register internal.RegisterFn) *RpcServer
MustNewServer returns a RpcSever, exits on any error.
func NewServer ¶
func NewServer(c RpcServerConf, register internal.RegisterFn) (*RpcServer, error)
NewServer returns a RpcServer.
func (*RpcServer) AddOptions ¶
func (rs *RpcServer) AddOptions(options ...grpc.ServerOption)
AddOptions adds given options.
func (*RpcServer) AddStreamInterceptors ¶
func (rs *RpcServer) AddStreamInterceptors(interceptors ...grpc.StreamServerInterceptor)
AddStreamInterceptors adds given stream interceptors.
func (*RpcServer) AddUnaryInterceptors ¶
func (rs *RpcServer) AddUnaryInterceptors(interceptors ...grpc.UnaryServerInterceptor)
AddUnaryInterceptors adds given unary interceptors.
type RpcServerConf ¶
type RpcServerConf struct { service.ServiceConf ListenOn string Etcd discov.EtcdConf `json:",optional"` Auth bool `json:",optional"` Redis redis.RedisKeyConf `json:",optional"` StrictControl bool `json:",optional"` // setting 0 means no timeout Timeout int64 `json:",default=2000"` CpuThreshold int64 `json:",default=900,range=[0:1000]"` }
A RpcServerConf is a rpc server config.
func (RpcServerConf) HasEtcd ¶
func (sc RpcServerConf) HasEtcd() bool
HasEtcd checks if there is etcd settings in config.
func (RpcServerConf) Validate ¶
func (sc RpcServerConf) Validate() error
Validate validates the config.