// for dequeueRoutine() func (r *Random) makeActionForEvent(event signal.Event) (signal.Action, error) { switch event.(type) { case *signal.ProcSetEvent: return r.makeActionForProcSetEvent(event.(*signal.ProcSetEvent)) } defaultAction, defaultActionErr := event.DefaultAction() faultAction, faultActionErr := event.DefaultFaultAction() if faultAction == nil { return defaultAction, defaultActionErr } if rand.Intn(999) < int(r.FaultActionProbability*1000.0) { log.Debugf("Injecting fault %s for %s", faultAction, event) return faultAction, faultActionErr } else { return defaultAction, defaultActionErr } }