make agent options/config pass lint checks (#1144)

This commit is contained in:
Reed Allman
2018-07-30 16:04:27 -07:00
committed by GitHub
parent a33535d91c
commit 409c104df3
7 changed files with 85 additions and 53 deletions

View File

@@ -90,7 +90,7 @@ type Agent interface {
}
type agent struct {
cfg AgentConfig
cfg Config
da CallHandler
callListeners []fnext.CallListener
@@ -112,13 +112,13 @@ type agent struct {
onStartup []func()
}
// AgentOption configures an agent at startup
type AgentOption func(*agent) error
// Option configures an agent at startup
type Option func(*agent) error
// New creates an Agent that executes functions locally as Docker containers.
func New(da CallHandler, options ...AgentOption) Agent {
func New(da CallHandler, options ...Option) Agent {
cfg, err := NewAgentConfig()
cfg, err := NewConfig()
if err != nil {
logrus.WithError(err).Fatalf("error in agent config cfg=%+v", cfg)
}
@@ -164,7 +164,7 @@ func (a *agent) addStartup(sup func()) {
}
// WithAsync Enables Async operations on the agent
func WithAsync(dqda DequeueDataAccess) AgentOption {
func WithAsync(dqda DequeueDataAccess) Option {
return func(a *agent) error {
if !a.shutWg.AddSession(1) {
logrus.Fatalf("cannot start agent, unable to add session")
@@ -175,7 +175,9 @@ func WithAsync(dqda DequeueDataAccess) AgentOption {
return nil
}
}
func WithConfig(cfg *AgentConfig) AgentOption {
// WithConfig sets the agent config to the provided config
func WithConfig(cfg *Config) Option {
return func(a *agent) error {
a.cfg = *cfg
return nil
@@ -183,7 +185,7 @@ func WithConfig(cfg *AgentConfig) AgentOption {
}
// WithDockerDriver Provides a customer driver to agent
func WithDockerDriver(drv drivers.Driver) AgentOption {
func WithDockerDriver(drv drivers.Driver) Option {
return func(a *agent) error {
if a.driver != nil {
return errors.New("cannot add driver to agent, driver already exists")
@@ -195,7 +197,7 @@ func WithDockerDriver(drv drivers.Driver) AgentOption {
}
// WithCallOverrider registers register a CallOverrider to modify a Call and extensions on call construction
func WithCallOverrider(fn CallOverrider) AgentOption {
func WithCallOverrider(fn CallOverrider) Option {
return func(a *agent) error {
if a.callOverrider != nil {
return errors.New("lb-agent call overriders already exists")
@@ -206,7 +208,7 @@ func WithCallOverrider(fn CallOverrider) AgentOption {
}
// NewDockerDriver creates a default docker driver from agent config
func NewDockerDriver(cfg *AgentConfig) (drivers.Driver, error) {
func NewDockerDriver(cfg *Config) (drivers.Driver, error) {
return drivers.New("docker", drivers.Config{
DockerNetworks: cfg.DockerNetworks,
DockerLoadFile: cfg.DockerLoadFile,
@@ -1038,10 +1040,10 @@ type container struct {
}
//newHotContainer creates a container that can be used for multiple sequential events
func newHotContainer(ctx context.Context, call *call, cfg *AgentConfig) (*container, func()) {
func newHotContainer(ctx context.Context, call *call, cfg *Config) (*container, func()) {
// if freezer is enabled, be consistent with freezer behavior and
// block stdout and stderr between calls.
isBlockIdleIO := MaxDisabledMsecs != cfg.FreezeIdle
isBlockIdleIO := MaxMsDisabled != cfg.FreezeIdle
id := id.New().String()