From 4a99ca1c3eaa4587c9dfbb01790b306014347bce Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 9 Jan 2017 08:35:43 +0100 Subject: [PATCH] dead code elimination --- src/core/core_api_mq.c | 191 ----------------------------------------- 1 file changed, 191 deletions(-) delete mode 100644 src/core/core_api_mq.c diff --git a/src/core/core_api_mq.c b/src/core/core_api_mq.c deleted file mode 100644 index 12c7a3bdd..000000000 --- a/src/core/core_api_mq.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - This file is part of GNUnet. - Copyright (C) 2009-2014 GNUnet e.V. - - GNUnet is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. - - GNUnet is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ -/** - * @file core/core_api_mq.c - * @brief MQ support for core service - * @author Christian Grothoff - * @author Florian Dold - */ -#include "platform.h" -#include "gnunet_util_lib.h" -#include "gnunet_constants.h" -#include "gnunet_core_service.h" -#include "core.h" - -#define LOG(kind,...) GNUNET_log_from (kind, "core-api",__VA_ARGS__) - - -/** - * Internal state of a GNUNET-MQ queue for CORE. - */ -struct CoreMQState -{ - /** - * Which peer does this queue target? - */ - struct GNUNET_PeerIdentity target; - - /** - * Handle to the CORE service used by this MQ. - */ - struct GNUNET_CORE_Handle *core; - - /** - * Transmission handle (if in use). - */ - struct GNUNET_CORE_TransmitHandle *th; -}; - - -/** - * Function called to notify a client about the connection - * begin ready to queue more data. @a buf will be - * NULL and @a size zero if the connection was closed for - * writing in the meantime. - * - * @param cls closure - * @param size number of bytes available in @a buf - * @param buf where the callee should write the message - * @return number of bytes written to @a buf - */ -static size_t -core_mq_ntr (void *cls, size_t size, - void *buf) -{ - struct GNUNET_MQ_Handle *mq = cls; - struct CoreMQState *mqs = GNUNET_MQ_impl_state (mq); - const struct GNUNET_MessageHeader *mh = GNUNET_MQ_impl_current (mq); - size_t msg_size = ntohs (mh->size); - - LOG (GNUNET_ERROR_TYPE_DEBUG, - "ntr called (size %u, type %u)\n", - msg_size, - ntohs (mh->type)); - mqs->th = NULL; - if (NULL == buf) - { - LOG (GNUNET_ERROR_TYPE_DEBUG, - "send error\n"); - GNUNET_MQ_inject_error (mq, GNUNET_MQ_ERROR_WRITE); - return 0; - } - GNUNET_memcpy (buf, mh, msg_size); - GNUNET_MQ_impl_send_continue (mq); - return msg_size; -} - - -/** - * Signature of functions implementing the - * sending functionality of a message queue. - * - * @param mq the message queue - * @param msg the message to send - * @param impl_state state of the implementation - */ -static void -core_mq_send (struct GNUNET_MQ_Handle *mq, - const struct GNUNET_MessageHeader *msg, - void *impl_state) -{ - struct CoreMQState *mqs = impl_state; - - GNUNET_assert (NULL == mqs->th); - LOG (GNUNET_ERROR_TYPE_DEBUG, - "Sending queued message (size %u)\n", - ntohs (msg->size)); - mqs->th = GNUNET_CORE_notify_transmit_ready (mqs->core, GNUNET_YES, 0, - GNUNET_TIME_UNIT_FOREVER_REL, - &mqs->target, - ntohs (msg->size), - &core_mq_ntr, mq); -} - - -/** - * Signature of functions implementing the - * destruction of a message queue. - * Implementations must not free @a mq, but should - * take care of @a impl_state. - * - * @param mq the message queue to destroy - * @param impl_state state of the implementation - */ -static void -core_mq_destroy (struct GNUNET_MQ_Handle *mq, - void *impl_state) -{ - struct CoreMQState *mqs = impl_state; - - if (NULL != mqs->th) - { - GNUNET_CORE_notify_transmit_ready_cancel (mqs->th); - mqs->th = NULL; - } - GNUNET_free (mqs); -} - - -/** - * Implementation function that cancels the currently sent message. - * - * @param mq message queue - * @param impl_state state specific to the implementation - */ -static void -core_mq_cancel (struct GNUNET_MQ_Handle *mq, - void *impl_state) -{ - struct CoreMQState *mqs = impl_state; - - GNUNET_assert (NULL != mqs->th); - GNUNET_CORE_notify_transmit_ready_cancel (mqs->th); -} - - -/** - * Create a message queue for sending messages to a peer with CORE. - * Messages may only be queued with #GNUNET_MQ_send once the init callback has - * been called for the given handle. - * There must only be one queue per peer for each core handle. - * The message queue can only be used to transmit messages, - * not to receive them. - * - * @param h the core handle - * @param target the target peer for this queue, may not be NULL - * @return a message queue for sending messages over the core handle - * to the target peer - */ -struct GNUNET_MQ_Handle * -GNUNET_CORE_mq_create (struct GNUNET_CORE_Handle *h, - const struct GNUNET_PeerIdentity *target) -{ - struct CoreMQState *mqs = GNUNET_new (struct CoreMQState); - - mqs->core = h; - mqs->target = *target; - return GNUNET_MQ_queue_for_callbacks (&core_mq_send, - &core_mq_destroy, - &core_mq_cancel, - mqs, - NULL, NULL, NULL); -} - -/* end of core_api_mq.c */ -- 2.25.1