Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Actions are the user action definitions that will be run by the controller.
Actions []actionDefinition
}
Config holds the the rate and user actions definitions that will be run by the SimpleController.
func ReadConfig ¶
ReadConfig reads the configuration file from the given string. If the string is empty, it will return a config with default values.
type SimpleController ¶
type SimpleController struct {
// contains filtered or unexported fields
}
SimpleController is a very basic implementation of a controller. Currently, it just performs a pre-defined set of actions in a loop.
func New ¶
func New(id int, user user.User, config *Config, status chan<- control.UserStatus) (*SimpleController, error)
New creates and initializes a new SimpleController with given parameters. An id is provided to identify the controller, a User is passed as the entity to be controlled and a UserStatus channel is passed to communicate errors and information about the user's status.
func (*SimpleController) InjectAction ¶ added in v1.10.0
func (c *SimpleController) InjectAction(actionID string) error
InjectAction allows a named UserAction to be injected that is run once, at the next available opportunity. These actions can be injected via the coordinator via CLI or Rest API.
func (*SimpleController) Run ¶
func (c *SimpleController) Run()
Run begins performing a set of actions in a loop with a defined wait in between the actions. It keeps on doing it until Stop is invoked. This is also a blocking function, so it is recommended to invoke it inside a goroutine.
func (*SimpleController) SetRate ¶
func (c *SimpleController) SetRate(rate float64) error
SetRate sets the relative speed of execution of actions by the user.
type UserAction ¶
type UserAction struct {
// contains filtered or unexported fields
}