Files
crawlab/core/grpc/client/options.go
2024-06-14 15:42:50 +08:00

52 lines
1019 B
Go

package client
import (
"github.com/crawlab-team/crawlab/core/interfaces"
"time"
)
type Option func(client interfaces.GrpcClient)
func WithConfigPath(path string) Option {
return func(c interfaces.GrpcClient) {
c.SetConfigPath(path)
}
}
func WithAddress(address interfaces.Address) Option {
return func(c interfaces.GrpcClient) {
c.SetAddress(address)
}
}
func WithTimeout(timeout time.Duration) Option {
return func(c interfaces.GrpcClient) {
}
}
func WithSubscribeType(subscribeType string) Option {
return func(c interfaces.GrpcClient) {
c.SetSubscribeType(subscribeType)
}
}
func WithHandleMessage(handleMessage bool) Option {
return func(c interfaces.GrpcClient) {
c.SetHandleMessage(handleMessage)
}
}
type PoolOption func(p interfaces.GrpcClientPool)
func WithPoolConfigPath(path string) PoolOption {
return func(c interfaces.GrpcClientPool) {
c.SetConfigPath(path)
}
}
func WithPoolSize(size int) PoolOption {
return func(c interfaces.GrpcClientPool) {
c.SetSize(size)
}
}