aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/queues/send_queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon/queues/send_queue.c')
-rw-r--r--src/charon/queues/send_queue.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/charon/queues/send_queue.c b/src/charon/queues/send_queue.c
index 6a55d96ab..f3a6b0f12 100644
--- a/src/charon/queues/send_queue.c
+++ b/src/charon/queues/send_queue.c
@@ -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);
}