Documentation
¶
Index ¶
- func GetDialAddressPrefix(mode modes.DaprMode) string
- type AppChannelConfig
- type ConnCreatorFn
- type ConnectionPool
- func (p *ConnectionPool) Destroy(conn grpc.ClientConnInterface)
- func (p *ConnectionPool) DestroyAll()
- func (p *ConnectionPool) Get(createFn func() (grpc.ClientConnInterface, error)) (conn grpc.ClientConnInterface, err error)
- func (p *ConnectionPool) Purge() int
- func (p *ConnectionPool) Register(conn grpc.ClientConnInterface)
- func (p *ConnectionPool) Release(conn grpc.ClientConnInterface)
- func (p *ConnectionPool) Share() grpc.ClientConnInterface
- type Manager
- func (g *Manager) AddAppTokenToContext(ctx context.Context) context.Context
- func (g *Manager) Close() error
- func (g *Manager) GetAppChannel() (channel.AppChannel, error)
- func (g *Manager) GetAppClient() (grpc.ClientConnInterface, func(bool), error)
- func (g *Manager) GetGRPCConnection(parentCtx context.Context, address string, id string, namespace string, ...) (conn *grpc.ClientConn, teardown func(destroy bool), err error)
- func (g *Manager) SetAppClientConn(conn grpc.ClientConnInterface)
- func (g *Manager) StartCollector()
- type RemoteConnectionPool
- func (p *RemoteConnectionPool) Destroy(address string, conn grpc.ClientConnInterface)
- func (p *RemoteConnectionPool) Get(address string, createFn func() (grpc.ClientConnInterface, error)) (conn grpc.ClientConnInterface, err error)
- func (p *RemoteConnectionPool) Purge()
- func (p *RemoteConnectionPool) Register(address string, conn grpc.ClientConnInterface)
- func (p *RemoteConnectionPool) Release(address string, conn grpc.ClientConnInterface)
- func (p *RemoteConnectionPool) Share(address string) grpc.ClientConnInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDialAddressPrefix ¶
GetDialAddressPrefix returns a dial prefix for a gRPC client connections for a given DaprMode. This is used on non-Windows hosts.
Types ¶
type AppChannelConfig ¶
type AppChannelConfig struct {
Port int
MaxConcurrency int
TracingSpec config.TracingSpec
EnableTLS bool
MaxRequestBodySize int // In bytes
ReadBufferSize int // In bytes
BaseAddress string
AppAPIToken string
}
AppChannelConfig contains the configuration for the app channel.
type ConnCreatorFn ¶
type ConnCreatorFn = func() (grpc.ClientConnInterface, error)
ConnCreatorFn is a function that returns a gRPC connection
type ConnectionPool ¶
type ConnectionPool struct {
// contains filtered or unexported fields
}
ConnectionPool holds a pool of connections to the same address.
func NewConnectionPool ¶
func NewConnectionPool(maxConnIdle time.Duration, minActiveConns int) *ConnectionPool
NewConnectionPool creates a new ConnectionPool object.
func (*ConnectionPool) Destroy ¶
func (p *ConnectionPool) Destroy(conn grpc.ClientConnInterface)
Destroy a connection, forcibly removing it from the pool
func (*ConnectionPool) DestroyAll ¶
func (p *ConnectionPool) DestroyAll()
DestroyAll closes all connections in the poll.
func (*ConnectionPool) Get ¶
func (p *ConnectionPool) Get(createFn func() (grpc.ClientConnInterface, error)) (conn grpc.ClientConnInterface, err error)
Get takes a connection from the pool or, if no connection exists, creates a new one using createFn, then stores it and returns it.
func (*ConnectionPool) Purge ¶
func (p *ConnectionPool) Purge() int
Purge connections that have been idle for longer than maxConnIdle, returning the number of connections that were closed. Note that this method should not be called by multiple goroutines at the same time.
func (*ConnectionPool) Register ¶
func (p *ConnectionPool) Register(conn grpc.ClientConnInterface)
Register a new connection.
func (*ConnectionPool) Release ¶
func (p *ConnectionPool) Release(conn grpc.ClientConnInterface)
Release is called when the method has finished using the connection. This decrements the reference counter for the connection.
func (*ConnectionPool) Share ¶
func (p *ConnectionPool) Share() grpc.ClientConnInterface
Share takes a connection from the pool and increments its reference count. The result can be nil if no available connection can be found.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is a wrapper around gRPC connection pooling.
func NewManager ¶
func NewManager(sec security.Handler, mode modes.DaprMode, channelConfig *AppChannelConfig) *Manager
NewManager returns a new grpc manager.
func (*Manager) AddAppTokenToContext ¶ added in v1.15.13
AddAppTokenToContext appends the app API token to outgoing gRPC context.
func (*Manager) GetAppChannel ¶
func (g *Manager) GetAppChannel() (channel.AppChannel, error)
GetAppChannel returns a connection to the local channel. If there's no active connection to the app, it creates one.
func (*Manager) GetAppClient ¶
func (g *Manager) GetAppClient() (grpc.ClientConnInterface, func(bool), error)
GetAppClient returns the gRPC connection to the local app. If there's no active connection to the app, it creates one.
func (*Manager) GetGRPCConnection ¶
func (g *Manager) GetGRPCConnection( parentCtx context.Context, address string, id string, namespace string, customOpts ...grpc.DialOption, ) (conn *grpc.ClientConn, teardown func(destroy bool), err error)
GetGRPCConnection returns a new grpc connection for a given address and inits one if doesn't exist.
func (*Manager) SetAppClientConn ¶
func (g *Manager) SetAppClientConn(conn grpc.ClientConnInterface)
SetAppClientConn is used by tests to override the default connection
func (*Manager) StartCollector ¶
func (g *Manager) StartCollector()
StartCollector starts a background goroutine that periodically watches for expired connections and purges them.
type RemoteConnectionPool ¶
type RemoteConnectionPool struct {
// contains filtered or unexported fields
}
RemoteConnectionPool is used to hold connections to remote addresses.
func NewRemoteConnectionPool ¶
func NewRemoteConnectionPool() *RemoteConnectionPool
NewRemoteConnectionPool creates a new RemoteConnectionPool object.
func (*RemoteConnectionPool) Destroy ¶
func (p *RemoteConnectionPool) Destroy(address string, conn grpc.ClientConnInterface)
Destroy a connection, forcibly removing ti from the pool
func (*RemoteConnectionPool) Get ¶
func (p *RemoteConnectionPool) Get(address string, createFn func() (grpc.ClientConnInterface, error)) (conn grpc.ClientConnInterface, err error)
Get takes a connection from the pool or, if no connection exists, creates a new one using createFn, then stores it and returns it.
func (*RemoteConnectionPool) Purge ¶
func (p *RemoteConnectionPool) Purge()
Purge connections that have been idle for longer than maxConnIdle. Note that this method should not be called by multiple goroutines at the same time.
func (*RemoteConnectionPool) Register ¶
func (p *RemoteConnectionPool) Register(address string, conn grpc.ClientConnInterface)
Register a new connection.
func (*RemoteConnectionPool) Release ¶
func (p *RemoteConnectionPool) Release(address string, conn grpc.ClientConnInterface)
Release is called when the method has finished using the connection. This decrements the reference counter for the connection.
func (*RemoteConnectionPool) Share ¶
func (p *RemoteConnectionPool) Share(address string) grpc.ClientConnInterface
Share takes a connection from the pool and increments its reference count. The result can be nil if no available connection can be found.