Documentation
¶
Index ¶
- type AutoVerificationConfig
- type ConfigView
- type DelayConfig
- type FailureConfig
- type PersonaConfig
- type SimulationConfig
- func (c *SimulationConfig) Get() SimulationConfig
- func (c *SimulationConfig) GetAutoVerificationDelayMs() int
- func (c *SimulationConfig) GetFailureRate() float64
- func (c *SimulationConfig) GetKYCRejectRate() float64
- func (c *SimulationConfig) GetKYCReviewDelayMs() int
- func (c *SimulationConfig) GetMaxDelayMs() int
- func (c *SimulationConfig) GetMinDelayMs() int
- func (c *SimulationConfig) GetTransferDelayMs() int
- func (c *SimulationConfig) GetTransferFailureRate() float64
- func (c *SimulationConfig) GetVerificationDelayMs() int
- func (c *SimulationConfig) GetView() ConfigView
- func (c *SimulationConfig) IsAutoVerificationEnabled() bool
- func (c *SimulationConfig) IsDemo() bool
- func (c *SimulationConfig) IsFailuresEnabled() bool
- func (c *SimulationConfig) IsRealistic() bool
- func (c *SimulationConfig) SetMode(mode SimulationMode)
- func (c *SimulationConfig) Update(update func(*SimulationConfig))
- type SimulationMode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutoVerificationConfig ¶
type AutoVerificationConfig struct {
// Enabled controls whether simulated users bypass verification.
Enabled bool `json:"enabled"`
// DelayMs is the delay before auto-approving verification.
DelayMs int `json:"delay_ms"`
}
AutoVerificationConfig configures automatic verification for simulated users.
type ConfigView ¶
type ConfigView struct {
Mode SimulationMode `json:"mode"`
Delays DelayConfig `json:"delays"`
Failures FailureConfig `json:"failures"`
AutoVerification AutoVerificationConfig `json:"auto_verification"`
Personas PersonaConfig `json:"personas"`
}
ConfigView is a JSON-safe representation of the configuration (no mutex).
type DelayConfig ¶
type DelayConfig struct {
// MinDelayMs is the minimum delay for any operation.
MinDelayMs int `json:"min_delay_ms"`
// MaxDelayMs is the maximum general delay.
MaxDelayMs int `json:"max_delay_ms"`
// Operation-specific delays.
TransferDelayMs int `json:"transfer_delay_ms"`
KYCReviewDelayMs int `json:"kyc_review_delay_ms"`
VerificationDelayMs int `json:"verification_delay_ms"`
}
DelayConfig configures operation delays in milliseconds.
type FailureConfig ¶
type FailureConfig struct {
// Enabled controls whether failures are injected.
Enabled bool `json:"enabled"`
// FailureRate is the default failure probability (0.0-1.0).
FailureRate float64 `json:"failure_rate"`
// Operation-specific failure rates.
TransferFailureRate float64 `json:"transfer_failure_rate"`
KYCRejectRate float64 `json:"kyc_reject_rate"`
}
FailureConfig configures failure injection.
type PersonaConfig ¶
type PersonaConfig struct {
// Enabled controls whether personas are active.
Enabled bool `json:"enabled"`
// IntervalSeconds is the activity check interval.
IntervalSeconds int `json:"interval_seconds"`
// TransactionsPerHour is the target transaction rate.
TransactionsPerHour int `json:"transactions_per_hour"`
}
PersonaConfig configures persona activity.
type SimulationConfig ¶
type SimulationConfig struct {
// Mode determines overall behavior profile.
Mode SimulationMode `json:"mode"`
// Delays configuration.
Delays DelayConfig `json:"delays"`
// Failures configuration.
Failures FailureConfig `json:"failures"`
// AutoVerification configuration for simulated users.
AutoVerification AutoVerificationConfig `json:"auto_verification"`
// Persona activity configuration.
Personas PersonaConfig `json:"personas"`
// contains filtered or unexported fields
}
SimulationConfig holds runtime configuration for simulation behavior.
func NewDefaultConfig ¶
func NewDefaultConfig() *SimulationConfig
NewDefaultConfig returns realistic mode configuration.
func NewDemoConfig ¶
func NewDemoConfig() *SimulationConfig
NewDemoConfig returns demo mode configuration with minimal delays and no failures.
func (*SimulationConfig) Get ¶
func (c *SimulationConfig) Get() SimulationConfig
Get returns a thread-safe copy of the current configuration. NOTE: This copies the mutex - use GetView() for JSON serialization.
func (*SimulationConfig) GetAutoVerificationDelayMs ¶
func (c *SimulationConfig) GetAutoVerificationDelayMs() int
GetAutoVerificationDelayMs returns the auto-verification delay in milliseconds.
func (*SimulationConfig) GetFailureRate ¶
func (c *SimulationConfig) GetFailureRate() float64
GetFailureRate returns the general failure rate.
func (*SimulationConfig) GetKYCRejectRate ¶
func (c *SimulationConfig) GetKYCRejectRate() float64
GetKYCRejectRate returns the KYC rejection rate.
func (*SimulationConfig) GetKYCReviewDelayMs ¶
func (c *SimulationConfig) GetKYCReviewDelayMs() int
GetKYCReviewDelayMs returns the KYC review delay in milliseconds.
func (*SimulationConfig) GetMaxDelayMs ¶
func (c *SimulationConfig) GetMaxDelayMs() int
GetMaxDelayMs returns the maximum delay in milliseconds.
func (*SimulationConfig) GetMinDelayMs ¶
func (c *SimulationConfig) GetMinDelayMs() int
GetMinDelayMs returns the minimum delay in milliseconds.
func (*SimulationConfig) GetTransferDelayMs ¶
func (c *SimulationConfig) GetTransferDelayMs() int
GetTransferDelayMs returns the transfer delay in milliseconds.
func (*SimulationConfig) GetTransferFailureRate ¶
func (c *SimulationConfig) GetTransferFailureRate() float64
GetTransferFailureRate returns the transfer failure rate.
func (*SimulationConfig) GetVerificationDelayMs ¶
func (c *SimulationConfig) GetVerificationDelayMs() int
GetVerificationDelayMs returns the verification delay in milliseconds.
func (*SimulationConfig) GetView ¶
func (c *SimulationConfig) GetView() ConfigView
GetView returns a JSON-safe view of the current configuration.
func (*SimulationConfig) IsAutoVerificationEnabled ¶
func (c *SimulationConfig) IsAutoVerificationEnabled() bool
IsAutoVerificationEnabled returns true if auto-verification is enabled.
func (*SimulationConfig) IsDemo ¶
func (c *SimulationConfig) IsDemo() bool
IsDemo returns true if running in demo mode.
func (*SimulationConfig) IsFailuresEnabled ¶
func (c *SimulationConfig) IsFailuresEnabled() bool
IsFailuresEnabled returns true if failure injection is enabled.
func (*SimulationConfig) IsRealistic ¶
func (c *SimulationConfig) IsRealistic() bool
IsRealistic returns true if running in realistic mode.
func (*SimulationConfig) SetMode ¶
func (c *SimulationConfig) SetMode(mode SimulationMode)
SetMode switches between realistic and demo modes. This updates all mode-dependent settings including delays, failures, auto-verification, and personas.
func (*SimulationConfig) Update ¶
func (c *SimulationConfig) Update(update func(*SimulationConfig))
Update applies changes to the configuration in a thread-safe manner.
type SimulationMode ¶
type SimulationMode string
SimulationMode defines the operation mode.
const ( // ModeRealistic enables delays and failures for realistic behavior. ModeRealistic SimulationMode = "realistic" // ModeDemo uses fast paths with no failures for presentations. ModeDemo SimulationMode = "demo" )