struct settle settle;
struct channel *c;
struct rt_export_request req;
+ struct f_trie* trie;
+ struct channel_feeding_request cfr[2];
};
static void
CD(c, "Feeding triggered by RPKI change");
- c->refeed_pending = 1;
- channel_stop_export(c);
+ /* TODO feed by trie */
+
+ /* Refeed already pending */
+ if ((s->cfr[0].state == CFRS_PENDING) || (s->cfr[1].state == CFRS_PENDING))
+ return;
+
+ /* First refeed inactive */
+ if (s->cfr[0].state == CFRS_INACTIVE)
+ {
+ s->cfr[0].type = CFRT_AUXILIARY;
+ channel_request_feeding(c, &s->cfr[0]);
+ }
+ else
+ {
+ /* Second refeed MUST be inactive */
+ ASSERT_DIE(s->cfr[1].state == CFRS_INACTIVE);
+ s->cfr[1].type = CFRT_AUXILIARY;
+ channel_request_feeding(c, &s->cfr[1]);
+ }
}
static void