Пример #1
0
 ExecStatus
 NaryEqv::propagate(Space& home, const ModEventDelta&) {
   resubscribe(home,x0);
   resubscribe(home,x1);
   if (x.size() == 0) {
     if (x0.assigned() && x1.assigned()) {
       return (pm2 == 1) ? home.ES_SUBSUMED(*this) : ES_FAILED;
     } else if (x0.assigned()) {
       GECODE_ME_CHECK(x1.eq(home,1^pm2));
       return home.ES_SUBSUMED(*this);
     } else if (x1.assigned()) {
       GECODE_ME_CHECK(x0.eq(home,1^pm2));
       return home.ES_SUBSUMED(*this);
     }
   }
   return ES_FIX;
 }
Пример #2
0
void AdStreamSubscriber::retry_failed_subscriber()
{
    resubscribe(retry_sub_list_, false);
}
Пример #3
0
void AdStreamSubscriber::resubscribe_all()
{
    resubscribe(subscriber_list_, true);
}