diff options
Diffstat (limited to 'src/charon/queues/send_queue.c')
-rw-r--r-- | src/charon/queues/send_queue.c | 16 |
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); } |