ike-sa: Expose task_manager_t::adopt_child_tasks()

This commit is contained in:
Tobias Brunner
2018-12-07 10:32:12 +01:00
parent 157150ca91
commit 00c889f4ec
2 changed files with 17 additions and 0 deletions
+10
View File
@@ -2739,6 +2739,15 @@ METHOD(ike_sa_t, queue_task_delayed, void,
this->task_manager->queue_task_delayed(this->task_manager, task, delay);
}
METHOD(ike_sa_t, adopt_child_tasks, void,
private_ike_sa_t *this, ike_sa_t *other_public)
{
private_ike_sa_t *other = (private_ike_sa_t*)other_public;
this->task_manager->adopt_child_tasks(this->task_manager,
other->task_manager);
}
METHOD(ike_sa_t, inherit_pre, void,
private_ike_sa_t *this, ike_sa_t *other_public)
{
@@ -3057,6 +3066,7 @@ ike_sa_t * ike_sa_create(ike_sa_id_t *ike_sa_id, bool initiator,
.flush_queue = _flush_queue,
.queue_task = _queue_task,
.queue_task_delayed = _queue_task_delayed,
.adopt_child_tasks = _adopt_child_tasks,
#ifdef ME
.act_as_mediation_server = _act_as_mediation_server,
.get_server_reflexive_host = _get_server_reflexive_host,
+7
View File
@@ -1147,6 +1147,13 @@ struct ike_sa_t {
*/
void (*queue_task_delayed)(ike_sa_t *this, task_t *task, uint32_t delay);
/**
* Adopt child creating tasks from the given IKE_SA.
*
* @param other other IKE_SA to adopt tasks from
*/
void (*adopt_child_tasks)(ike_sa_t *this, ike_sa_t *other);
/**
* Inherit required attributes to new SA before rekeying.
*