ike: Add getter for the current message ID to task manager

This commit is contained in:
Tobias Brunner
2017-02-08 15:03:25 +01:00
parent e9d13476cb
commit 05a2be82c2
3 changed files with 23 additions and 1 deletions
+7
View File
@@ -1896,6 +1896,12 @@ METHOD(task_manager_t, incr_mid, void,
{
}
METHOD(task_manager_t, get_mid, uint32_t,
private_task_manager_t *this, bool initiate)
{
return initiate ? this->initiating.mid : this->responding.mid;
}
METHOD(task_manager_t, reset, void,
private_task_manager_t *this, uint32_t initiate, uint32_t respond)
{
@@ -1999,6 +2005,7 @@ task_manager_v1_t *task_manager_v1_create(ike_sa_t *ike_sa)
.initiate = _initiate,
.retransmit = _retransmit,
.incr_mid = _incr_mid,
.get_mid = _get_mid,
.reset = _reset,
.adopt_tasks = _adopt_tasks,
.adopt_child_tasks = _adopt_child_tasks,
+7
View File
@@ -1200,6 +1200,12 @@ METHOD(task_manager_t, incr_mid, void,
}
}
METHOD(task_manager_t, get_mid, uint32_t,
private_task_manager_t *this, bool initiate)
{
return initiate ? this->initiating.mid : this->responding.mid;
}
/**
* Handle the given IKE fragment, if it is one.
*
@@ -2046,6 +2052,7 @@ task_manager_v2_t *task_manager_v2_create(ike_sa_t *ike_sa)
.initiate = _initiate,
.retransmit = _retransmit,
.incr_mid = _incr_mid,
.get_mid = _get_mid,
.reset = _reset,
.adopt_tasks = _adopt_tasks,
.adopt_child_tasks = _adopt_child_tasks,
+9 -1
View File
@@ -239,6 +239,14 @@ struct task_manager_t {
*/
void (*incr_mid)(task_manager_t *this, bool initiate);
/**
* Get the current message ID counter, in- or outbound.
*
* @param initiate TRUE to get the initiating ID
* @return current message ID
*/
uint32_t (*get_mid)(task_manager_t *this, bool initiate);
/**
* Reset message ID counters of the task manager.
*
@@ -253,7 +261,7 @@ struct task_manager_t {
* @param initiate message ID / DPD seq to initiate exchanges (send)
* @param respond message ID / DPD seq to respond to exchanges (expect)
*/
void (*reset) (task_manager_t *this, uint32_t initiate, uint32_t respond);
void (*reset)(task_manager_t *this, uint32_t initiate, uint32_t respond);
/**
* Check if we are currently waiting for a reply.