redesigned IKE_SA using a transaction mechanism:
removed old state machine reimplemented IKE_SA setup and delete implemented dead peer detection implemented keep-alives a lot of fixes no rekeying yet
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#include "send_queue.h"
|
||||
|
||||
#include <utils/linked_list.h>
|
||||
#include <utils/logger_manager.h>
|
||||
|
||||
|
||||
typedef struct private_send_queue_t private_send_queue_t;
|
||||
@@ -54,8 +55,12 @@ struct private_send_queue_t {
|
||||
* This condvar is used to wake up such a thread
|
||||
*/
|
||||
pthread_cond_t condvar;
|
||||
};
|
||||
|
||||
/**
|
||||
* Logger reference
|
||||
*/
|
||||
logger_t *logger;
|
||||
};
|
||||
|
||||
/**
|
||||
* implements send_queue_t.get_count
|
||||
@@ -100,6 +105,14 @@ static packet_t *get(private_send_queue_t *this)
|
||||
*/
|
||||
static void add(private_send_queue_t *this, packet_t *packet)
|
||||
{
|
||||
host_t *src, *dst;
|
||||
|
||||
src = packet->get_source(packet);
|
||||
dst = packet->get_destination(packet);
|
||||
this->logger->log(this->logger, CONTROL, "sending packet: from %s:%d to %s:%d",
|
||||
src->get_address(src), src->get_port(src),
|
||||
dst->get_address(dst), dst->get_port(dst));
|
||||
|
||||
pthread_mutex_lock(&(this->mutex));
|
||||
this->list->insert_last(this->list,packet);
|
||||
pthread_cond_signal( &(this->condvar));
|
||||
@@ -148,6 +161,7 @@ send_queue_t *send_queue_create(void)
|
||||
this->list = linked_list_create();
|
||||
pthread_mutex_init(&(this->mutex), NULL);
|
||||
pthread_cond_init(&(this->condvar), NULL);
|
||||
this->logger = logger_manager->get_logger(logger_manager, SOCKET);
|
||||
|
||||
return (&this->public);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user