Replaced simple iterator usages.
This commit is contained in:
@@ -476,19 +476,19 @@ static status_t get_initiated_by_ids(private_connect_manager_t *this,
|
||||
static void remove_initiated(private_connect_manager_t *this,
|
||||
initiated_t *initiated)
|
||||
{
|
||||
iterator_t *iterator;
|
||||
enumerator_t *enumerator;
|
||||
initiated_t *current;
|
||||
|
||||
iterator = this->initiated->create_iterator(this->initiated, TRUE);
|
||||
while (iterator->iterate(iterator, (void**)¤t))
|
||||
enumerator = this->initiated->create_enumerator(this->initiated);
|
||||
while (enumerator->enumerate(enumerator, (void**)¤t))
|
||||
{
|
||||
if (current == initiated)
|
||||
{
|
||||
iterator->remove(iterator);
|
||||
this->initiated->remove_at(this->initiated, enumerator);
|
||||
break;
|
||||
}
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -514,19 +514,19 @@ static status_t get_checklist_by_id(private_connect_manager_t *this,
|
||||
static void remove_checklist(private_connect_manager_t *this,
|
||||
check_list_t *checklist)
|
||||
{
|
||||
iterator_t *iterator;
|
||||
enumerator_t *enumerator;
|
||||
check_list_t *current;
|
||||
|
||||
iterator = this->checklists->create_iterator(this->checklists, TRUE);
|
||||
while (iterator->iterate(iterator, (void**)¤t))
|
||||
enumerator = this->checklists->create_enumerator(this->checklists);
|
||||
while (enumerator->enumerate(enumerator, (void**)¤t))
|
||||
{
|
||||
if (current == checklist)
|
||||
{
|
||||
iterator->remove(iterator);
|
||||
this->checklists->remove_at(this->checklists, enumerator);
|
||||
break;
|
||||
}
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -631,14 +631,14 @@ static bool match_waiting_pair(endpoint_pair_t *current)
|
||||
static status_t get_triggered_pair(check_list_t *checklist,
|
||||
endpoint_pair_t **pair)
|
||||
{
|
||||
iterator_t *iterator;
|
||||
enumerator_t *enumerator;
|
||||
endpoint_pair_t *current;
|
||||
status_t status = NOT_FOUND;
|
||||
|
||||
iterator = checklist->triggered->create_iterator(checklist->triggered, TRUE);
|
||||
while (iterator->iterate(iterator, (void**)¤t))
|
||||
enumerator = checklist->triggered->create_enumerator(checklist->triggered);
|
||||
while (enumerator->enumerate(enumerator, (void**)¤t))
|
||||
{
|
||||
iterator->remove(iterator);
|
||||
checklist->triggered->remove_at(checklist->triggered, enumerator);
|
||||
|
||||
if (current->state == CHECK_WAITING)
|
||||
{
|
||||
@@ -650,7 +650,7 @@ static status_t get_triggered_pair(check_list_t *checklist,
|
||||
break;
|
||||
}
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
return status;
|
||||
}
|
||||
@@ -660,17 +660,17 @@ static status_t get_triggered_pair(check_list_t *checklist,
|
||||
*/
|
||||
static void print_checklist(check_list_t *checklist)
|
||||
{
|
||||
iterator_t *iterator;
|
||||
enumerator_t *enumerator;
|
||||
endpoint_pair_t *current;
|
||||
|
||||
DBG1(DBG_IKE, "pairs on checklist %#B:", &checklist->connect_id);
|
||||
iterator = checklist->pairs->create_iterator(checklist->pairs, TRUE);
|
||||
while (iterator->iterate(iterator, (void**)¤t))
|
||||
enumerator = checklist->pairs->create_enumerator(checklist->pairs);
|
||||
while (enumerator->enumerate(enumerator, (void**)¤t))
|
||||
{
|
||||
DBG1(DBG_IKE, " * %#H - %#H (%d)", current->local, current->remote,
|
||||
current->priority);
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -721,16 +721,16 @@ static void prune_pairs(linked_list_t *pairs)
|
||||
static void build_pairs(check_list_t *checklist)
|
||||
{
|
||||
/* FIXME: limit endpoints and pairs */
|
||||
iterator_t *iterator_i, *iterator_r;
|
||||
enumerator_t *enumerator_i, *enumerator_r;
|
||||
endpoint_notify_t *initiator, *responder;
|
||||
|
||||
iterator_i = checklist->initiator.endpoints->create_iterator(
|
||||
checklist->initiator.endpoints, TRUE);
|
||||
while (iterator_i->iterate(iterator_i, (void**)&initiator))
|
||||
enumerator_i = checklist->initiator.endpoints->create_enumerator(
|
||||
checklist->initiator.endpoints);
|
||||
while (enumerator_i->enumerate(enumerator_i, (void**)&initiator))
|
||||
{
|
||||
iterator_r = checklist->responder.endpoints->create_iterator(
|
||||
checklist->responder.endpoints, TRUE);
|
||||
while (iterator_r->iterate(iterator_r, (void**)&responder))
|
||||
enumerator_r = checklist->responder.endpoints->create_enumerator(
|
||||
checklist->responder.endpoints);
|
||||
while (enumerator_r->enumerate(enumerator_r, (void**)&responder))
|
||||
{
|
||||
if (initiator->get_family(initiator) != responder->get_family(responder))
|
||||
{
|
||||
@@ -740,9 +740,9 @@ static void build_pairs(check_list_t *checklist)
|
||||
insert_pair_by_priority(checklist->pairs, endpoint_pair_create(
|
||||
initiator, responder, checklist->is_initiator));
|
||||
}
|
||||
iterator_r->destroy(iterator_r);
|
||||
enumerator_r->destroy(enumerator_r);
|
||||
}
|
||||
iterator_i->destroy(iterator_i);
|
||||
enumerator_i->destroy(enumerator_i);
|
||||
|
||||
print_checklist(checklist);
|
||||
|
||||
@@ -895,19 +895,19 @@ static job_requeue_t initiator_finish(callback_data_t *data)
|
||||
static void update_checklist_state(private_connect_manager_t *this,
|
||||
check_list_t *checklist)
|
||||
{
|
||||
iterator_t *iterator;
|
||||
enumerator_t *enumerator;
|
||||
endpoint_pair_t *current;
|
||||
bool in_progress = FALSE, succeeded = FALSE;
|
||||
|
||||
iterator = checklist->pairs->create_iterator(checklist->pairs, TRUE);
|
||||
while (iterator->iterate(iterator, (void**)¤t))
|
||||
enumerator = checklist->pairs->create_enumerator(checklist->pairs);
|
||||
while (enumerator->enumerate(enumerator, (void**)¤t))
|
||||
{
|
||||
switch(current->state)
|
||||
{
|
||||
case CHECK_WAITING:
|
||||
/* at least one is still waiting -> checklist remains
|
||||
* in waiting state */
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
return;
|
||||
case CHECK_IN_PROGRESS:
|
||||
in_progress = TRUE;
|
||||
@@ -919,7 +919,7 @@ static void update_checklist_state(private_connect_manager_t *this,
|
||||
break;
|
||||
}
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
if (checklist->is_initiator && succeeded && !checklist->is_finishing)
|
||||
{
|
||||
@@ -1185,8 +1185,9 @@ static job_requeue_t initiate_mediated(initiate_data_t *data)
|
||||
if (get_best_valid_pair(checklist, &pair) == SUCCESS)
|
||||
{
|
||||
ike_sa_id_t *waiting_sa;
|
||||
iterator_t *iterator = initiated->mediated->create_iterator(initiated->mediated, TRUE);
|
||||
while (iterator->iterate(iterator, (void**)&waiting_sa))
|
||||
enumerator_t *enumerator = initiated->mediated->create_enumerator(
|
||||
initiated->mediated);
|
||||
while (enumerator->enumerate(enumerator, (void**)&waiting_sa))
|
||||
{
|
||||
ike_sa_t *sa = charon->ike_sa_manager->checkout(charon->ike_sa_manager, waiting_sa);
|
||||
if (sa->initiate_mediated(sa, pair->local, pair->remote, checklist->connect_id) != SUCCESS)
|
||||
@@ -1199,7 +1200,7 @@ static job_requeue_t initiate_mediated(initiate_data_t *data)
|
||||
charon->ike_sa_manager->checkin(charon->ike_sa_manager, sa);
|
||||
}
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1474,15 +1475,15 @@ static void check_and_initiate(private_connect_manager_t *this,
|
||||
}
|
||||
|
||||
ike_sa_id_t *waiting_sa;
|
||||
iterator_t *iterator = initiated->mediated->create_iterator(
|
||||
initiated->mediated, TRUE);
|
||||
while (iterator->iterate(iterator, (void**)&waiting_sa))
|
||||
enumerator_t *enumerator = initiated->mediated->create_enumerator(
|
||||
initiated->mediated);
|
||||
while (enumerator->enumerate(enumerator, (void**)&waiting_sa))
|
||||
{
|
||||
job_t *job = (job_t*)reinitiate_mediation_job_create(mediation_sa,
|
||||
waiting_sa);
|
||||
lib->processor->queue_job(lib->processor, job);
|
||||
}
|
||||
iterator->destroy(iterator);
|
||||
enumerator->destroy(enumerator);
|
||||
|
||||
this->mutex->unlock(this->mutex);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user