Lines Matching refs:fmep

144 static void fme_eval(struct fme *fmep, fmd_event_t *ffep);
145 static enum fme_state hypothesise(struct fme *fmep, struct event *ep,
153 static void restore_suspects(struct fme *fmep);
154 static void save_suspects(struct fme *fmep);
171 struct fme *fmep; in alloc_fme() local
173 fmep = MALLOC(sizeof (*fmep)); in alloc_fme()
174 bzero(fmep, sizeof (*fmep)); in alloc_fme()
175 return (fmep); in alloc_fme()
184 fme_ready(struct fme *fmep) in fme_ready() argument
191 EFMElist->next = fmep; in fme_ready()
192 EFMElist = fmep; in fme_ready()
194 FMElist = EFMElist = fmep; in fme_ready()
196 (void) sprintf(nbuf, "fme%d.Rcount", fmep->id); in fme_ready()
197 fmep->Rcount = stats_new_counter(nbuf, "ereports received", 0); in fme_ready()
198 (void) sprintf(nbuf, "fme%d.Hcall", fmep->id); in fme_ready()
199 fmep->Hcallcount = stats_new_counter(nbuf, "calls to hypothesise()", 1); in fme_ready()
200 (void) sprintf(nbuf, "fme%d.Rcall", fmep->id); in fme_ready()
201 fmep->Rcallcount = stats_new_counter(nbuf, in fme_ready()
203 (void) sprintf(nbuf, "fme%d.Ccall", fmep->id); in fme_ready()
204 fmep->Ccallcount = stats_new_counter(nbuf, "calls to causes_test()", 1); in fme_ready()
205 (void) sprintf(nbuf, "fme%d.Ecall", fmep->id); in fme_ready()
206 fmep->Ecallcount = in fme_ready()
208 (void) sprintf(nbuf, "fme%d.Tcall", fmep->id); in fme_ready()
209 fmep->Tcallcount = stats_new_counter(nbuf, "calls to triggered()", 1); in fme_ready()
210 (void) sprintf(nbuf, "fme%d.Marrow", fmep->id); in fme_ready()
211 fmep->Marrowcount = stats_new_counter(nbuf, in fme_ready()
213 (void) sprintf(nbuf, "fme%d.diags", fmep->id); in fme_ready()
214 fmep->diags = stats_new_counter(nbuf, "suspect lists diagnosed", 0); in fme_ready()
217 config_print(O_ALTFP|O_VERB2, fmep->config); in fme_ready()
219 return (fmep); in fme_ready()
227 set_needed_arrows(struct event *ep, struct event *ep2, struct fme *fmep) in set_needed_arrows() argument
246 unset_needed_arrows(struct event *ep, struct event *ep2, struct fme *fmep) in unset_needed_arrows() argument
262 static void clear_arrows(struct event *ep, struct event *ep2, struct fme *fmep);
591 reconstitute_observations(struct fme *fmep) in reconstitute_observations() argument
603 for (ocnt = 0; ocnt < fmep->uniqobs; ocnt++) { in reconstitute_observations()
605 elen = fmd_buf_size(fmep->hdl, fmep->fmcase, tmpbuf); in reconstitute_observations()
615 fmd_buf_read(fmep->hdl, fmep->fmcase, tmpbuf, estr, elen); in reconstitute_observations()
640 ep = itree_lookup(fmep->eventtree, in reconstitute_observations()
658 pkdlen = fmd_buf_size(fmep->hdl, fmep->fmcase, tmpbuf); in reconstitute_observations()
661 fmd_buf_read(fmep->hdl, in reconstitute_observations()
662 fmep->fmcase, tmpbuf, pkd, pkdlen); in reconstitute_observations()
671 fmep->e0 = ep; in reconstitute_observations()
674 fmep->ecurrent = ep; in reconstitute_observations()
678 ep->observations = fmep->observations; in reconstitute_observations()
679 fmep->observations = ep; in reconstitute_observations()
682 if (ocnt == fmep->uniqobs) { in reconstitute_observations()
683 (void) fme_ready(fmep); in reconstitute_observations()
699 struct fme *fmep; in fme_restart() local
719 fmep = alloc_fme(); in fme_restart()
720 fmep->fmcase = inprogress; in fme_restart()
721 fmep->hdl = hdl; in fme_restart()
729 (void *)&fmep->posted_suspects, in fme_restart()
730 sizeof (fmep->posted_suspects)); in fme_restart()
738 fmd_buf_read(hdl, inprogress, WOBUF_ID, (void *)&fmep->id, in fme_restart()
739 sizeof (fmep->id)); in fme_restart()
741 if (Nextid <= fmep->id) in fme_restart()
742 Nextid = fmep->id + 1; in fme_restart()
744 out(O_ALTFP, "Replay FME %d", fmep->id); in fme_restart()
754 if ((fmep->e0r = fmd_case_getprincipal(hdl, inprogress)) == NULL) { in fme_restart()
765 fmd_buf_read(hdl, inprogress, WOBUF_PULL, (void *)&fmep->pull, in fme_restart()
766 sizeof (fmep->pull)); in fme_restart()
775 (void *)&fmep->uniqobs, sizeof (fmep->uniqobs)); in fme_restart()
779 elen = fmd_buf_size(fmep->hdl, fmep->fmcase, tmpbuf); in fme_restart()
787 fmd_buf_read(fmep->hdl, fmep->fmcase, tmpbuf, estr, elen); in fme_restart()
835 fmep->config = cfgdata->cooked; in fme_restart()
840 if ((fmep->eventtree = itree_create(fmep->config)) == NULL) { in fme_restart()
847 itree_ptree(O_ALTFP|O_VERB2, fmep->eventtree); in fme_restart()
849 if (reconstitute_observations(fmep) != 0) in fme_restart()
852 out(O_ALTFP|O_NONL, "FME %d replay observations: ", fmep->id); in fme_restart()
853 for (ep = fmep->observations; ep; ep = ep->observations) { in fme_restart()
862 fme_eval(fmep, fmep->e0r); in fme_restart()
866 if (fmep->eventtree != NULL) in fme_restart()
867 itree_free(fmep->eventtree); in fme_restart()
868 if (fmep->config) in fme_restart()
869 structconfig_free(fmep->config); in fme_restart()
870 destroy_fme_bufs(fmep); in fme_restart()
871 FREE(fmep); in fme_restart()
973 fme_print(int flags, struct fme *fmep) in fme_print() argument
977 out(flags, "Fault Management Exercise %d", fmep->id); in fme_print()
978 out(flags, "\t State: %s", fme_state2str(fmep->state)); in fme_print()
980 ptree_timeval(flags|O_NONL, &fmep->ull); in fme_print()
982 if (fmep->wull) { in fme_print()
984 ptree_timeval(flags|O_NONL, &fmep->wull); in fme_print()
988 if (fmep->e0) in fme_print()
989 itree_pevent_brief(flags|O_NONL, fmep->e0); in fme_print()
994 for (ep = fmep->observations; ep; ep = ep->observations) { in fme_print()
1000 for (ep = fmep->suspects; ep; ep = ep->suspects) { in fme_print()
1005 if (fmep->eventtree != NULL) { in fme_print()
1007 itree_ptree(flags|O_VERB2, fmep->eventtree); in fme_print()
1036 serd_eval(struct fme *fmep, fmd_hdl_t *hdl, fmd_event_t *ffep, in serd_eval() argument
1114 if ((gval = lut_lookup(fmep->globals, in serd_eval()
1156 cp = config_lookup(fmep->config, path, 0); in serd_eval()
1321 upsets_eval(struct fme *fmep, fmd_event_t *ffep) in upsets_eval() argument
1337 for (sp = fmep->suspects; sp; sp = sp->suspects) { in upsets_eval()
1353 for (sp = fmep->suspects; sp; sp = sp->suspects) in upsets_eval()
1355 serd_eval(fmep, fmep->hdl, ffep, fmep->fmcase, sp, in upsets_eval()
1377 ep = fmep->e0; in upsets_eval()
1384 fmcase = fmd_case_open(fmep->hdl, NULL); in upsets_eval()
1389 if ((nfmep = newfme(eventstring, ipp, fmep->hdl, in upsets_eval()
1398 nfmep->pull = fmep->pull; in upsets_eval()
1413 for (ep = fmep->observations; ep; ep = ep->observations) { in upsets_eval()
1486 fme_receive_report(fmep->hdl, ffep, in upsets_eval()
1608 static int mark_arrows(struct fme *fmep, struct event *ep, int mark,
1613 clear_arrows(struct event *ep, struct event *ep2, struct fme *fmep) in clear_arrows() argument
1636 struct fme *fmep = NULL; in fme_receive_report() local
1649 for (fmep = FMElist; fmep; fmep = fmep->next) { in fme_receive_report()
1655 if (fmep->overflow) { in fme_receive_report()
1656 if (!(fmd_case_closed(fmep->hdl, fmep->fmcase))) in fme_receive_report()
1657 ofmep = fmep; in fme_receive_report()
1665 if (fmep->posted_suspects || in fme_receive_report()
1666 fmd_case_solved(fmep->hdl, fmep->fmcase) || in fme_receive_report()
1667 fmd_case_closed(fmep->hdl, fmep->fmcase)) in fme_receive_report()
1671 if ((ep = itree_lookup(fmep->eventtree, in fme_receive_report()
1676 fmep->ecurrent = ep; in fme_receive_report()
1679 ep->observations = fmep->observations; in fme_receive_report()
1680 fmep->observations = ep; in fme_receive_report()
1689 fmep->peek = 1; in fme_receive_report()
1696 lut_walk(fmep->eventtree, (lut_cb)clear_arrows, (void *)fmep); in fme_receive_report()
1697 state = hypothesise(fmep, fmep->e0, fmep->ull, &my_delay); in fme_receive_report()
1699 fmep->peek = 0; in fme_receive_report()
1709 out(O_ALTFP, " explained by FME%d]", fmep->id); in fme_receive_report()
1714 serialize_observation(fmep, eventstring, ipp); in fme_receive_report()
1717 fmd_case_add_ereport(hdl, fmep->fmcase, ffep); in fme_receive_report()
1721 stats_counter_bump(fmep->Rcount); in fme_receive_report()
1724 fme_eval(fmep, ffep); in fme_receive_report()
1728 fmep->ecurrent = NULL; in fme_receive_report()
1731 fmep->observations = ep->observations; in fme_receive_report()
1771 if ((fmep = newfme(eventstring, ipp, hdl, fmcase, ffep, in fme_receive_report()
1781 init_fme_bufs(fmep); in fme_receive_report()
1782 fmep->overflow = B_TRUE; in fme_receive_report()
1785 fmd_case_add_ereport(hdl, fmep->fmcase, ffep); in fme_receive_report()
1793 fmd_case_add_suspect(hdl, fmep->fmcase, defect); in fme_receive_report()
1794 fmd_case_solve(hdl, fmep->fmcase); in fme_receive_report()
1803 if ((fmep = newfme(eventstring, ipp, hdl, fmcase, ffep, nvl)) == NULL) { in fme_receive_report()
1812 init_fme_bufs(fmep); in fme_receive_report()
1816 out(O_ALTFP, " created FME%d, case %s]", fmep->id, in fme_receive_report()
1817 fmd_case_uuid(hdl, fmep->fmcase)); in fme_receive_report()
1819 ep = fmep->e0; in fme_receive_report()
1823 fmep->ecurrent = ep; in fme_receive_report()
1826 ep->observations = fmep->observations; in fme_receive_report()
1827 fmep->observations = ep; in fme_receive_report()
1829 serialize_observation(fmep, eventstring, ipp); in fme_receive_report()
1836 stats_counter_bump(fmep->Rcount); in fme_receive_report()
1839 fmd_case_add_ereport(hdl, fmep->fmcase, ffep); in fme_receive_report()
1840 fmd_case_setprincipal(hdl, fmep->fmcase, ffep); in fme_receive_report()
1841 fmep->e0r = ffep; in fme_receive_report()
1846 fme_eval(fmep, ffep); in fme_receive_report()
1852 struct fme *fmep; in fme_status() local
1859 for (fmep = FMElist; fmep; fmep = fmep->next) in fme_status()
1860 fme_print(flags, fmep); in fme_status()
1913 print_suspects(int circumstance, struct fme *fmep) in print_suspects() argument
1920 "suspect list:", fmep->id, fme_state2str(fmep->state)); in print_suspects()
1922 out(O_ALTFP|O_NONL, "FME%d set wait timer %ld ", fmep->id, in print_suspects()
1923 fmep->timer); in print_suspects()
1924 ptree_timeval(O_ALTFP|O_NONL, &fmep->wull); in print_suspects()
1926 out(O_ALTFP|O_NONL, "FME%d DIAGNOSIS UNKNOWN", fmep->id); in print_suspects()
1928 out(O_ALTFP|O_NONL, "FME%d DIAGNOSIS PRODUCED:", fmep->id); in print_suspects()
1936 for (ep = fmep->suspects; ep; ep = ep->suspects) { in print_suspects()
2137 static void publish_suspects(struct fme *fmep, struct rsl *srl);
2239 trim_suspects(struct fme *fmep, struct rsl *begin, struct rsl *begin2, in trim_suspects() argument
2250 for (ep = fmep->psuspects; ep; ep = ep->psuspects) { in trim_suspects()
2253 serd_rval = serd_eval(fmep, fmep->hdl, ffep, fmep->fmcase, ep, in trim_suspects()
2259 get_resources(ep, rp2, fmep->config); in trim_suspects()
2263 get_resources(ep, rp, fmep->config); in trim_suspects()
2265 fmep->nsuspects++; in trim_suspects()
2766 publish_suspects(struct fme *fmep, struct rsl *srl) in publish_suspects() argument
2779 struct rsl *erl = srl + fmep->nsuspects - 1; in publish_suspects()
2784 qsort(srl, fmep->nsuspects, sizeof (struct rsl), rslcmp); in publish_suspects()
2787 frs = alloca(fmep->nsuspects * sizeof (uint_t)); in publish_suspects()
2818 fault = fmd_nvl_create_fault(fmep->hdl, in publish_suspects()
2832 fmep->id, in publish_suspects()
2848 fmep->id, in publish_suspects()
2864 fmep->id, in publish_suspects()
2891 "[FME%d, %s action ", fmep->id, in publish_suspects()
2900 fmd_case_add_suspect(fmep->hdl, fmep->fmcase, fault); in publish_suspects()
2908 out(O_ALTFP|O_VERB, "FME%d dup check ", fmep->id); in publish_suspects()
2915 } else if (fmd_nvl_fmri_has_fault(fmep->hdl, asru, in publish_suspects()
2941 "[FME%d, %s count ", fmep->id, in publish_suspects()
3180 struct fme *fmep; in fme_close_case() local
3197 for (fmep = FMElist; fmep; fmep = fmep->next) { in fme_close_case()
3198 if (fmep->hdl == hdl && fmep->fmcase == fmcase) in fme_close_case()
3200 prev = fmep; in fme_close_case()
3203 if (fmep == NULL) { in fme_close_case()
3209 if (EFMElist == fmep) in fme_close_case()
3215 prev->next = fmep->next; in fme_close_case()
3217 fmep->next = NULL; in fme_close_case()
3220 if (fmep->wull != 0) in fme_close_case()
3221 fmd_timer_remove(fmep->hdl, fmep->timer); in fme_close_case()
3224 ClosedFMEs = fmep; in fme_close_case()
3226 fmep->next = ClosedFMEs; in fme_close_case()
3227 ClosedFMEs = fmep; in fme_close_case()
3234 for (fmep = FMElist; fmep; fmep = fmep->next) { in fme_close_case()
3235 if (fmep->overflow && !(fmd_case_closed(fmep->hdl, in fme_close_case()
3236 fmep->fmcase))) in fme_close_case()
3240 if (fmep != NULL) in fme_close_case()
3241 fmd_case_close(fmep->hdl, fmep->fmcase); in fme_close_case()
3251 fme_set_timer(struct fme *fmep, unsigned long long wull) in fme_set_timer() argument
3256 if (wull <= fmep->pull) { in fme_set_timer()
3258 ptree_timeval(O_ALTFP|O_VERB, &fmep->pull); in fme_set_timer()
3265 if (fmep->wull != 0) { in fme_set_timer()
3267 ptree_timeval(O_ALTFP|O_VERB, &fmep->wull); in fme_set_timer()
3274 if (fmep->wull != 0) in fme_set_timer()
3275 if (wull >= fmep->wull) in fme_set_timer()
3279 if (fmep->wull != 0) { in fme_set_timer()
3280 fmd_timer_remove(fmep->hdl, fmep->timer); in fme_set_timer()
3283 fmep->timer = fmd_timer_install(fmep->hdl, (void *)fmep, in fme_set_timer()
3284 fmep->e0r, wull); in fme_set_timer()
3285 out(O_ALTFP|O_VERB, "timer set, id is %ld", fmep->timer); in fme_set_timer()
3286 fmep->wull = wull; in fme_set_timer()
3291 fme_timer_fired(struct fme *fmep, id_t tid) in fme_timer_fired() argument
3296 if (ffmep == fmep) in fme_timer_fired()
3301 (void *)fmep); in fme_timer_fired()
3306 fmep->pull = fmep->wull; in fme_timer_fired()
3307 fmep->wull = 0; in fme_timer_fired()
3308 fmd_buf_write(fmep->hdl, fmep->fmcase, in fme_timer_fired()
3309 WOBUF_PULL, (void *)&fmep->pull, sizeof (fmep->pull)); in fme_timer_fired()
3311 fme_eval(fmep, fmep->e0r); in fme_timer_fired()
3319 save_suspects(struct fme *fmep) in save_suspects() argument
3325 for (ep = fmep->psuspects; ep; ep = nextep) { in save_suspects()
3329 fmep->psuspects = NULL; in save_suspects()
3332 fmep->psuspects = fmep->suspects; in save_suspects()
3333 for (ep = fmep->suspects; ep; ep = nextep) { in save_suspects()
3339 fmep->suspects = NULL; in save_suspects()
3340 fmep->nsuspects = 0; in save_suspects()
3347 restore_suspects(struct fme *fmep) in restore_suspects() argument
3352 fmep->nsuspects = 0; in restore_suspects()
3353 fmep->suspects = fmep->psuspects; in restore_suspects()
3354 for (ep = fmep->psuspects; ep; ep = nextep) { in restore_suspects()
3355 fmep->nsuspects++; in restore_suspects()
3365 fme_eval(struct fme *fmep, fmd_event_t *ffep) in fme_eval() argument
3374 save_suspects(fmep); in fme_eval()
3376 out(O_ALTFP, "Evaluate FME %d", fmep->id); in fme_eval()
3379 lut_walk(fmep->eventtree, (lut_cb)clear_arrows, (void *)fmep); in fme_eval()
3380 fmep->state = hypothesise(fmep, fmep->e0, fmep->ull, &my_delay); in fme_eval()
3382 out(O_ALTFP|O_NONL, "FME%d state: %s, suspect list:", fmep->id, in fme_eval()
3383 fme_state2str(fmep->state)); in fme_eval()
3384 for (ep = fmep->suspects; ep; ep = ep->suspects) { in fme_eval()
3390 switch (fmep->state) { in fme_eval()
3392 print_suspects(SLNEW, fmep); in fme_eval()
3393 (void) upsets_eval(fmep, ffep); in fme_eval()
3399 if (fmep->posted_suspects) in fme_eval()
3402 stats_counter_bump(fmep->diags); in fme_eval()
3403 rpcnt = fmep->nsuspects; in fme_eval()
3404 save_suspects(fmep); in fme_eval()
3415 mess_zero_count = trim_suspects(fmep, srl, srl2, ffep); in fme_eval()
3421 if (fmep->nsuspects == 0 && mess_zero_count == 0) { in fme_eval()
3424 fmep->id, fmd_case_uuid(fmep->hdl, fmep->fmcase)); in fme_eval()
3425 fmd_case_close(fmep->hdl, fmep->fmcase); in fme_eval()
3426 } else if (fmep->nsuspects != 0 && mess_zero_count == 0) { in fme_eval()
3427 publish_suspects(fmep, srl); in fme_eval()
3428 out(O_ALTFP, "[solving FME%d, case %s]", fmep->id, in fme_eval()
3429 fmd_case_uuid(fmep->hdl, fmep->fmcase)); in fme_eval()
3430 fmd_case_solve(fmep->hdl, fmep->fmcase); in fme_eval()
3431 } else if (fmep->nsuspects == 0 && mess_zero_count != 0) { in fme_eval()
3432 fmep->nsuspects = mess_zero_count; in fme_eval()
3433 publish_suspects(fmep, srl2); in fme_eval()
3434 out(O_ALTFP, "[solving FME%d, case %s]", fmep->id, in fme_eval()
3435 fmd_case_uuid(fmep->hdl, fmep->fmcase)); in fme_eval()
3436 fmd_case_solve(fmep->hdl, fmep->fmcase); in fme_eval()
3441 publish_suspects(fmep, srl); in fme_eval()
3442 out(O_ALTFP, "[solving FME%d, case %s]", fmep->id, in fme_eval()
3443 fmd_case_uuid(fmep->hdl, fmep->fmcase)); in fme_eval()
3444 fmd_case_solve(fmep->hdl, fmep->fmcase); in fme_eval()
3453 nfmep->hdl = fmep->hdl; in fme_eval()
3455 nfmep->fmcase = fmd_case_open(fmep->hdl, NULL); in fme_eval()
3466 for (obsp = fmep->observations; obsp; in fme_eval()
3480 restore_suspects(fmep); in fme_eval()
3482 fmep->posted_suspects = 1; in fme_eval()
3483 fmd_buf_write(fmep->hdl, fmep->fmcase, in fme_eval()
3485 (void *)&fmep->posted_suspects, in fme_eval()
3486 sizeof (fmep->posted_suspects)); in fme_eval()
3493 if (fmep->wull != 0) { in fme_eval()
3494 fmd_timer_remove(fmep->hdl, fmep->timer); in fme_eval()
3495 fmep->wull = 0; in fme_eval()
3500 ASSERT(my_delay > fmep->ull); in fme_eval()
3501 (void) fme_set_timer(fmep, my_delay); in fme_eval()
3502 print_suspects(SLWAIT, fmep); in fme_eval()
3503 itree_prune(fmep->eventtree); in fme_eval()
3507 print_suspects(SLDISPROVED, fmep); in fme_eval()
3509 fme_undiagnosable(fmep); in fme_eval()
3513 itree_free(fmep->eventtree); in fme_eval()
3514 fmep->eventtree = NULL; in fme_eval()
3515 structconfig_free(fmep->config); in fme_eval()
3516 fmep->config = NULL; in fme_eval()
3517 destroy_fme_bufs(fmep); in fme_eval()
3521 static int triggered(struct fme *fmep, struct event *ep, int mark);
3522 static enum fme_state effects_test(struct fme *fmep,
3525 static enum fme_state requirements_test(struct fme *fmep, struct event *ep,
3527 static enum fme_state causes_test(struct fme *fmep, struct event *ep,
3531 checkconstraints(struct fme *fmep, struct arrow *arrowp) in checkconstraints() argument
3562 &fmep->globals, fmep->config, in checkconstraints()
3599 triggered(struct fme *fmep, struct event *ep, int mark) in triggered() argument
3605 stats_counter_bump(fmep->Tcallcount); in triggered()
3622 mark_arrows(struct fme *fmep, struct event *ep, int mark, in mark_arrows() argument
3636 stats_counter_bump(fmep->Marrowcount); in mark_arrows()
3654 (void) mark_arrows(fmep, ep2, mark, 0, NULL, in mark_arrows()
3693 if (checkconstraints(fmep, ap->arrowp) == 0) { in mark_arrows()
3704 if (!triggered(fmep, ep2, EFFECTS_COUNTER)) { in mark_arrows()
3722 result = requirements_test(fmep, ep2, Hesitate, in mark_arrows()
3725 result = requirements_test(fmep, ep2, in mark_arrows()
3739 if (mark_arrows(fmep, ep2, PARENT_WAIT, in mark_arrows()
3765 if (mark_arrows(fmep, ep2, mark, at_latest_by, in mark_arrows()
3781 effects_test(struct fme *fmep, struct event *fault_event, in effects_test() argument
3789 stats_counter_bump(fmep->Ecallcount); in effects_test()
3796 if (mark_arrows(fmep, fault_event, CREDIBLE_EFFECT, at_latest_by, in effects_test()
3802 for (error_event = fmep->observations; in effects_test()
3821 (void) mark_arrows(fmep, fault_event, 0, 0, NULL, 0); in effects_test()
3824 (void) mark_arrows(fmep, fault_event, 0, 0, NULL, 1); in effects_test()
3839 requirements_test(struct fme *fmep, struct event *ep, in requirements_test() argument
3877 stats_counter_bump(fmep->Rcallcount); in requirements_test()
3888 if (fmep->pull >= at_latest_by) { in requirements_test()
3962 (void) checkconstraints(fmep, ap->arrowp); in requirements_test()
3984 if (triggered(fmep, ep2, REQMNTS_COUNTER)) in requirements_test()
3986 switch (requirements_test(fmep, ep2, in requirements_test()
4060 causes_test(struct fme *fmep, struct event *ep, in causes_test() argument
4073 stats_counter_bump(fmep->Ccallcount); in causes_test()
4109 if (checkconstraints(fmep, ap->arrowp) == 0) in causes_test()
4125 fstate = hypothesise(fmep, tail_event, at_latest_by, in causes_test()
4173 hypothesise(struct fme *fmep, struct event *ep, in hypothesise() argument
4180 stats_counter_bump(fmep->Hcallcount); in hypothesise()
4189 rtr = requirements_test(fmep, ep, at_latest_by, &my_delay); in hypothesise()
4194 otr = effects_test(fmep, ep, at_latest_by, &my_delay); in hypothesise()
4196 if (fmep->peek == 0 && ep->is_suspect == 0) { in hypothesise()
4197 ep->suspects = fmep->suspects; in hypothesise()
4199 fmep->suspects = ep; in hypothesise()
4200 fmep->nsuspects++; in hypothesise()
4204 otr = causes_test(fmep, ep, at_latest_by, &my_delay); in hypothesise()