Documentation
¶
Index ¶
- type ChaosMonkey
- type Jim
- func (j *Jim) Accept(conn net.Conn) bool
- func (j *Jim) Configure(logf func(string, ...interface{}))
- func (j *Jim) ConfigureFrom(j2 *Jim)
- func (j *Jim) Disconnect() bool
- func (j *Jim) LinkSpeed() *linkio.Throughput
- func (j *Jim) RegisterFlags()
- func (j *Jim) ValidAUTH(mechanism string, args ...string) bool
- func (j *Jim) ValidMAIL(mail string) bool
- func (j *Jim) ValidRCPT(rcpt string) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChaosMonkey ¶
type ChaosMonkey interface {
RegisterFlags()
Configure(func(string, ...interface{}))
// Accept is called for each incoming connection. Returning false closes the connection.
Accept(conn net.Conn) bool
// LinkSpeed sets the maximum connection throughput (in one direction)
LinkSpeed() *linkio.Throughput
// ValidRCPT is called for the RCPT command. Returning false signals an invalid recipient.
ValidRCPT(rcpt string) bool
// ValidMAIL is called for the MAIL command. Returning false signals an invalid sender.
ValidMAIL(mail string) bool
// ValidAUTH is called after authentication. Returning false signals invalid authentication.
ValidAUTH(mechanism string, args ...string) bool
// Disconnect is called after every read. Returning true will close the connection.
Disconnect() bool
}
ChaosMonkey should be implemented by chaos monkeys!
type Jim ¶
type Jim struct {
DisconnectChance float64
AcceptChance float64
LinkSpeedAffect float64
LinkSpeedMin float64
LinkSpeedMax float64
RejectSenderChance float64
RejectRecipientChance float64
RejectAuthChance float64
// contains filtered or unexported fields
}
Jim is a chaos monkey
func (*Jim) ConfigureFrom ¶
ConfigureFrom lets us configure a new Jim from an old one without having to expose logf (and any other future private vars)
func (*Jim) Disconnect ¶
Disconnect implements ChaosMonkey.Disconnect
func (*Jim) LinkSpeed ¶
func (j *Jim) LinkSpeed() *linkio.Throughput
LinkSpeed implements ChaosMonkey.LinkSpeed
func (*Jim) RegisterFlags ¶
func (j *Jim) RegisterFlags()
RegisterFlags implements ChaosMonkey.RegisterFlags
Click to show internal directories.
Click to hide internal directories.