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()
- 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) Close() error
- func (g *Manager) GetAppChannel() (channel.AppChannel, error)
- func (g *Manager) GetAppClient() (grpc.ClientConnInterface, 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 MaxRequestBodySizeMB int ReadBufferSizeKB int BaseAddress 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()
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 (*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) 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, 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.