Documentation ¶
Index ¶
- Constants
- Variables
- func InitUnifiedClientConnectionManager(ctx context.Context, logger *slog.Logger)
- func NewStub(name string, reg *codegen.Registration, conn Connection, injectRetries int) codegen.Stub
- func Serve(ctx context.Context, l Listener, opts ServerOptions) error
- type Balancer
- type CallOptions
- type ClientOptions
- type Connection
- type Endpoint
- type Handler
- type HandlerMap
- type Listener
- type MethodKey
- type NetEndpoint
- type ReplicaConnection
- type Resolver
- type ServerOptions
- type Version
Constants ¶
View Source
const ( CommunicationError transportError = iota Unreachable )
Variables ¶
View Source
var Missing = Version{Opaque: "__tombstone__"}
Functions ¶
func InitUnifiedClientConnectionManager ¶ added in v0.2.0
func NewStub ¶
func NewStub(name string, reg *codegen.Registration, conn Connection, injectRetries int) codegen.Stub
Types ¶
type Balancer ¶
type Balancer interface { Add(ReplicaConnection) Remove(ReplicaConnection) Pick(CallOptions) (ReplicaConnection, bool) }
func RoundRobin ¶
func RoundRobin() Balancer
type CallOptions ¶
type ClientOptions ¶
type Connection ¶
type Connection interface { Call(context.Context, MethodKey, []byte, CallOptions) ([]byte, error) Close() }
Connection 发送rpc的连接
func Connect ¶
func Connect(ctx context.Context, resolver Resolver, opts ClientOptions) (Connection, error)
type HandlerMap ¶
type HandlerMap struct {
// contains filtered or unexported fields
}
func NewHandlerMap ¶
func NewHandlerMap() *HandlerMap
func (*HandlerMap) AddHandlers ¶
func (hm *HandlerMap) AddHandlers(component string, impl any) error
func (*HandlerMap) Set ¶
func (hm *HandlerMap) Set(component, method string, handler Handler)
type NetEndpoint ¶
type NetEndpoint struct { Net string // e.g., "tcp", "udp", "unix" Addr string // e.g., "localhost:8000" }
func ParseNetEndpoint ¶
func ParseNetEndpoint(endpoint string) (NetEndpoint, error)
func TCP ¶
func TCP(address string) NetEndpoint
func UDP ¶
func UDP(address string) NetEndpoint
func Unix ¶
func Unix(address string) NetEndpoint
func (NetEndpoint) Address ¶
func (n NetEndpoint) Address() string
type ReplicaConnection ¶
type ReplicaConnection interface {
Address() string
}
type Resolver ¶
type Resolver interface { // IsConstant 返回一个resolver是否不变的 IsConstant() bool Resolve(ctx context.Context, version *Version) ([]Endpoint, *Version, error) }
func NewConstantResolver ¶
type ServerOptions ¶
Click to show internal directories.
Click to hide internal directories.