ike-sa: Expose task_manager_t::remove_task()

This commit is contained in:
Tobias Brunner
2018-12-07 10:32:12 +01:00
parent 4505e3c0df
commit b71604011a
2 changed files with 17 additions and 0 deletions
+7
View File
@@ -2721,6 +2721,12 @@ METHOD(ike_sa_t, create_task_enumerator, enumerator_t*,
return this->task_manager->create_task_enumerator(this->task_manager, queue);
}
METHOD(ike_sa_t, remove_task, void,
private_ike_sa_t *this, enumerator_t *enumerator)
{
return this->task_manager->remove_task(this->task_manager, enumerator);
}
METHOD(ike_sa_t, flush_queue, void,
private_ike_sa_t *this, task_queue_t queue)
{
@@ -3063,6 +3069,7 @@ ike_sa_t * ike_sa_create(ike_sa_id_t *ike_sa_id, bool initiator,
.create_attribute_enumerator = _create_attribute_enumerator,
.set_kmaddress = _set_kmaddress,
.create_task_enumerator = _create_task_enumerator,
.remove_task = _remove_task,
.flush_queue = _flush_queue,
.queue_task = _queue_task,
.queue_task_delayed = _queue_task_delayed,
+10
View File
@@ -1124,6 +1124,16 @@ struct ike_sa_t {
*/
enumerator_t* (*create_task_enumerator)(ike_sa_t *this, task_queue_t queue);
/**
* Remove the task the given enumerator points to.
*
* @note This should be used with caution, in partciular, for tasks in the
* active and passive queues.
*
* @param enumerator enumerator created with the method above
*/
void (*remove_task)(ike_sa_t *this, enumerator_t *enumerator);
/**
* Flush a task queue, cancelling all tasks in it.
*