gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r37631 - in gnunet/src: include transport


From: gnunet
Subject: [GNUnet-SVN] r37631 - in gnunet/src: include transport
Date: Sat, 30 Jul 2016 19:46:53 +0200

Author: grothoff
Date: 2016-07-30 19:46:52 +0200 (Sat, 30 Jul 2016)
New Revision: 37631

Removed:
   gnunet/src/transport/transport_api_get_hello.c
Modified:
   gnunet/src/include/gnunet_transport_service.h
   gnunet/src/transport/Makefile.am
Log:
remove now obsolete get_hello-API

Modified: gnunet/src/include/gnunet_transport_service.h
===================================================================
--- gnunet/src/include/gnunet_transport_service.h       2016-07-30 17:41:15 UTC 
(rev 37630)
+++ gnunet/src/include/gnunet_transport_service.h       2016-07-30 17:46:52 UTC 
(rev 37631)
@@ -54,50 +54,7 @@
 
 /* *************************** HELLO *************************** */
 
-
 /**
- * Function called whenever there is an update to the
- * HELLO of this peer.
- *
- * @param cls closure
- * @param hello our updated HELLO
- */
-typedef void
-(*GNUNET_TRANSPORT_HelloUpdateCallback) (void *cls,
-                                         const struct GNUNET_MessageHeader 
*hello);
-
-
-/**
- * Handle to cancel a #GNUNET_TRANSPORT_get_hello() operation.
- */
-struct GNUNET_TRANSPORT_GetHelloHandle;
-
-
-/**
- * Obtain updates on changes to the HELLO message for this peer. The callback
- * given in this function is never called synchronously.
- *
- * @param cfg configuration
- * @param rec function to call with the HELLO
- * @param rec_cls closure for @a rec
- * @return handle to cancel the operation
- */
-struct GNUNET_TRANSPORT_GetHelloHandle *
-GNUNET_TRANSPORT_get_hello (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                            GNUNET_TRANSPORT_HelloUpdateCallback rec,
-                            void *rec_cls);
-
-
-/**
- * Stop receiving updates about changes to our HELLO message.
- *
- * @param ghh handle to cancel
- */
-void
-GNUNET_TRANSPORT_get_hello_cancel (struct GNUNET_TRANSPORT_GetHelloHandle 
*ghh);
-
-
-/**
  * Handle for a #GNUNET_TRANSPORT_offer_hello operation
  */
 struct GNUNET_TRANSPORT_OfferHelloHandle;
@@ -114,7 +71,7 @@
  *      tc reason #GNUNET_SCHEDULER_REASON_TIMEOUT for fail
  *      tc reasong #GNUNET_SCHEDULER_REASON_READ_READY for success
  * @param cont_cls closure for @a cont
- * @return a GNUNET_TRANSPORT_OfferHelloHandle handle or NULL on failure,
+ * @return a `struct GNUNET_TRANSPORT_OfferHelloHandle` handle or NULL on 
failure,
  *      in case of failure @a cont will not be called
  *
  */

Modified: gnunet/src/transport/Makefile.am
===================================================================
--- gnunet/src/transport/Makefile.am    2016-07-30 17:41:15 UTC (rev 37630)
+++ gnunet/src/transport/Makefile.am    2016-07-30 17:46:52 UTC (rev 37631)
@@ -170,7 +170,6 @@
   transport_api_address_to_string.c \
   transport_api_blacklist.c \
   transport_api_core.c \
-  transport_api_get_hello.c \
   transport_api_hello_get.c \
   transport_api_manipulation.c \
   transport_api_monitor_peers.c \

Deleted: gnunet/src/transport/transport_api_get_hello.c
===================================================================
--- gnunet/src/transport/transport_api_get_hello.c      2016-07-30 17:41:15 UTC 
(rev 37630)
+++ gnunet/src/transport/transport_api_get_hello.c      2016-07-30 17:46:52 UTC 
(rev 37631)
@@ -1,268 +0,0 @@
-/*
-     This file is part of GNUnet.
-     Copyright (C) 2009-2013, 2016 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 transport/transport_api_get_hello.c
- * @brief library to obtain our HELLO from our transport service
- * @author Christian Grothoff
- */
-#include "platform.h"
-#include "gnunet_util_lib.h"
-#include "gnunet_constants.h"
-#include "gnunet_arm_service.h"
-#include "gnunet_hello_lib.h"
-#include "gnunet_protocols.h"
-#include "gnunet_transport_service.h"
-#include "transport.h"
-
-
-/**
- * Functions to call with this peer's HELLO.
- */
-struct GNUNET_TRANSPORT_GetHelloHandle
-{
-
-  /**
-   * Our configuration.
-   */
-  const struct GNUNET_CONFIGURATION_Handle *cfg;
-
-  /**
-   * Transport handle.
-   */
-  struct GNUNET_MQ_Handle *mq;
-
-  /**
-   * Callback to call once we got our HELLO.
-   */
-  GNUNET_TRANSPORT_HelloUpdateCallback rec;
-
-  /**
-   * Closure for @e rec.
-   */
-  void *rec_cls;
-
-  /**
-   * Task for calling the HelloUpdateCallback when we already have a HELLO
-   */
-  struct GNUNET_SCHEDULER_Task *notify_task;
-
-  /**
-   * ID of the task trying to reconnect to the service.
-   */
-  struct GNUNET_SCHEDULER_Task *reconnect_task;
-
-  /**
-   * Delay until we try to reconnect.
-   */
-  struct GNUNET_TIME_Relative reconnect_delay;
-
-};
-
-
-/**
- * Function we use for checking incoming HELLO messages.
- *
- * @param cls closure, a `struct GNUNET_TRANSPORT_Handle *`
- * @param msg message received
- * @return #GNUNET_OK if message is well-formed
- */
-static int
-check_hello (void *cls,
-             const struct GNUNET_MessageHeader *msg)
-{
-  struct GNUNET_PeerIdentity me;
-
-  if (GNUNET_OK !=
-      GNUNET_HELLO_get_id ((const struct GNUNET_HELLO_Message *) msg,
-                           &me))
-  {
-    GNUNET_break (0);
-    return GNUNET_SYSERR;
-  }
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Receiving (my own) HELLO message (%u bytes), I am `%s'.\n",
-              (unsigned int) ntohs (msg->size),
-              GNUNET_i2s (&me));
-  return GNUNET_OK;
-}
-
-
-/**
- * Function we use for handling incoming HELLO messages.
- *
- * @param cls closure, a `struct GNUNET_TRANSPORT_GetHelloHandle *`
- * @param msg message received
- */
-static void
-handle_hello (void *cls,
-              const struct GNUNET_MessageHeader *msg)
-{
-  struct GNUNET_TRANSPORT_GetHelloHandle *ghh = cls;
-
-  ghh->rec (ghh->rec_cls,
-            msg);
-}
-
-
-/**
- * Function that will schedule the job that will try
- * to connect us again to the client.
- *
- * @param ghh transport service to reconnect
- */
-static void
-schedule_reconnect (struct GNUNET_TRANSPORT_GetHelloHandle *ghh);
-
-
-/**
- * Generic error handler, called with the appropriate
- * error code and the same closure specified at the creation of
- * the message queue.
- * Not every message queue implementation supports an error handler.
- *
- * @param cls closure with the `struct GNUNET_TRANSPORT_Handle *`
- * @param error error code
- */
-static void
-mq_error_handler (void *cls,
-                  enum GNUNET_MQ_Error error)
-{
-  struct GNUNET_TRANSPORT_GetHelloHandle *ghh = cls;
-
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Error receiving from transport service, disconnecting 
temporarily.\n");
-  GNUNET_MQ_destroy (ghh->mq);
-  ghh->mq = NULL;
-  schedule_reconnect (ghh);
-}
-
-
-/**
- * Try again to connect to transport service.
- *
- * @param cls the handle to the transport service
- */
-static void
-reconnect (void *cls)
-{
-  GNUNET_MQ_hd_var_size (hello,
-                         GNUNET_MESSAGE_TYPE_HELLO,
-                         struct GNUNET_MessageHeader);
-  struct GNUNET_TRANSPORT_GetHelloHandle *ghh = cls;
-  struct GNUNET_MQ_MessageHandler handlers[] = {
-    make_hello_handler (ghh),
-    GNUNET_MQ_handler_end ()
-  };
-  struct GNUNET_MQ_Envelope *env;
-  struct StartMessage *s;
-
-  ghh->reconnect_task = NULL;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Connecting to transport service.\n");
-  GNUNET_assert (NULL == ghh->mq);
-  ghh->mq = GNUNET_CLIENT_connecT (ghh->cfg,
-                                   "transport",
-                                   handlers,
-                                   &mq_error_handler,
-                                   ghh);
-  if (NULL == ghh->mq)
-    return;
-  env = GNUNET_MQ_msg (s,
-                       GNUNET_MESSAGE_TYPE_TRANSPORT_START);
-  s->options = htonl (0);
-  GNUNET_MQ_send (ghh->mq,
-                  env);
-}
-
-
-/**
- * Function that will schedule the job that will try
- * to connect us again to the client.
- *
- * @param ghh transport service to reconnect
- */
-static void
-schedule_reconnect (struct GNUNET_TRANSPORT_GetHelloHandle *ghh)
-{
-  ghh->reconnect_task =
-      GNUNET_SCHEDULER_add_delayed (ghh->reconnect_delay,
-                                    &reconnect,
-                                    ghh);
-  ghh->reconnect_delay = GNUNET_TIME_STD_BACKOFF (ghh->reconnect_delay);
-}
-
-
-/**
- * Obtain the HELLO message for this peer.  The callback given in this function
- * is never called synchronously.
- *
- * @param cfg configuration
- * @param rec function to call with the HELLO, sender will be our peer
- *            identity; message and sender will be NULL on timeout
- *            (handshake with transport service pending/failed).
- *             cost estimate will be 0.
- * @param rec_cls closure for @a rec
- * @return handle to cancel the operation
- */
-struct GNUNET_TRANSPORT_GetHelloHandle *
-GNUNET_TRANSPORT_get_hello (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                            GNUNET_TRANSPORT_HelloUpdateCallback rec,
-                            void *rec_cls)
-{
-  struct GNUNET_TRANSPORT_GetHelloHandle *ghh;
-
-  ghh = GNUNET_new (struct GNUNET_TRANSPORT_GetHelloHandle);
-  ghh->rec = rec;
-  ghh->rec_cls = rec_cls;
-  ghh->cfg = cfg;
-  reconnect (ghh);
-  if (NULL == ghh->mq)
-  {
-    GNUNET_free (ghh);
-    return NULL;
-  }
-  return ghh;
-}
-
-
-/**
- * Stop receiving updates about changes to our HELLO message.
- *
- * @param ghh handle to cancel
- */
-void
-GNUNET_TRANSPORT_get_hello_cancel (struct GNUNET_TRANSPORT_GetHelloHandle *ghh)
-{
-  if (NULL != ghh->reconnect_task)
-  {
-    GNUNET_SCHEDULER_cancel (ghh->reconnect_task);
-    ghh->reconnect_task = NULL;
-  }
-  if (NULL != ghh->mq)
-  {
-    GNUNET_MQ_destroy (ghh->mq);
-    ghh->mq = NULL;
-  }
-  GNUNET_free (ghh);
-}
-
-
-/* end of transport_api_get_hello.c */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]