gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r28750 - gnunet/src/core


From: gnunet
Subject: [GNUnet-SVN] r28750 - gnunet/src/core
Date: Wed, 21 Aug 2013 17:17:23 +0200

Author: grothoff
Date: 2013-08-21 17:17:23 +0200 (Wed, 21 Aug 2013)
New Revision: 28750

Removed:
   gnunet/src/core/core_api_is_connected.c
Modified:
   gnunet/src/core/Makefile.am
   gnunet/src/core/core_api_iterate_peers.c
   gnunet/src/core/gnunet-service-core_clients.c
   gnunet/src/core/gnunet-service-core_sessions.c
   gnunet/src/core/gnunet-service-core_sessions.h
Log:
removing deprecated, dead test-connected API

Modified: gnunet/src/core/Makefile.am
===================================================================
--- gnunet/src/core/Makefile.am 2013-08-21 15:16:58 UTC (rev 28749)
+++ gnunet/src/core/Makefile.am 2013-08-21 15:17:23 UTC (rev 28750)
@@ -22,8 +22,7 @@
 
 libgnunetcore_la_SOURCES = \
   core_api.c core.h \
-  core_api_iterate_peers.c \
-  core_api_is_connected.c 
+  core_api_iterate_peers.c
 libgnunetcore_la_LIBADD = \
   $(top_builddir)/src/util/libgnunetutil.la \
   $(GN_LIBINTL) $(XLIB)

Deleted: gnunet/src/core/core_api_is_connected.c
===================================================================
--- gnunet/src/core/core_api_is_connected.c     2013-08-21 15:16:58 UTC (rev 
28749)
+++ gnunet/src/core/core_api_is_connected.c     2013-08-21 15:17:23 UTC (rev 
28750)
@@ -1,224 +0,0 @@
-/*
-     This file is part of GNUnet.
-     (C) 2009, 2010, 2012 Christian Grothoff (and other contributing authors)
-
-     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., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
-
-/**
- * @file core/core_api_is_connected.c
- * @brief implementation of the 'GNUNET_CORE_is_peer_connected function
- * @author Christian Grothoff
- * @author Nathan Evans
- *
- * TODO:
- * - define nice structs for the IPC messages in core.h
- * - consider NOT always sending the 'END' message -- it is redundant!
- */
-#include "platform.h"
-#include "gnunet_core_service.h"
-#include "core.h"
-
-
-/**
- * Closure for 'transmit_is_connected_request"
- */
-struct GNUNET_CORE_ConnectTestHandle
-{
- 
-  /**
-   * Our connection to the service.
-   */
-  struct GNUNET_CLIENT_Connection *client;
-
-  /**
-   * Handle for transmitting a request.
-   */
-  struct GNUNET_CLIENT_TransmitHandle *th;
-
-  /**
-   * Function called with the peer.
-   */
-  GNUNET_CORE_ConnectEventHandler peer_cb;
-
-  /**
-   * Peer to check for.
-   */
-  struct GNUNET_PeerIdentity peer;
-
-  /**
-   * Closure for peer_cb.
-   */
-  void *cb_cls;
-
-};
-
-
-/**
- * Receive reply from core service with information about a peer.
- *
- * @param cls our 'struct  GNUNET_CORE_RequestContext *'
- * @param msg NULL on error or last entry
- */
-static void
-receive_connect_info (void *cls, const struct GNUNET_MessageHeader *msg)
-{
-  struct GNUNET_CORE_ConnectTestHandle *cth = cls;
-  const struct ConnectNotifyMessage *connect_message;
-  uint16_t msize;
-
-  if (NULL == msg)
-  {
-    /* core died, failure */
-    cth->peer_cb (cth->cb_cls, NULL);
-    GNUNET_CORE_is_peer_connected_cancel (cth);
-    return;
-  }
-  if ((ntohs (msg->type) == GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS_END) &&
-      (ntohs (msg->size) == sizeof (struct GNUNET_MessageHeader)))
-  {
-    /* end of transmissions */
-    cth->peer_cb (cth->cb_cls, NULL);
-    GNUNET_CORE_is_peer_connected_cancel (cth);
-    return;
-  }
-  msize = ntohs (msg->size);
-  /* Handle incorrect message type or size, disconnect and clean up */
-  if ((ntohs (msg->type) != GNUNET_MESSAGE_TYPE_CORE_NOTIFY_CONNECT) ||
-      (msize < sizeof (struct ConnectNotifyMessage)))
-  {
-    GNUNET_break (0);
-    cth->peer_cb (cth->cb_cls, NULL);
-    GNUNET_CORE_is_peer_connected_cancel (cth);
-    return;
-  }
-  connect_message = (const struct ConnectNotifyMessage *) msg;
-  if (msize != sizeof (struct ConnectNotifyMessage))
-  {
-    GNUNET_break (0);
-    cth->peer_cb (cth->cb_cls, NULL);
-    GNUNET_CORE_is_peer_connected_cancel (cth);
-    return;
-  }
-  /* Normal case */
-  cth->peer_cb (cth->cb_cls, &connect_message->peer);
-  GNUNET_CLIENT_receive (cth->client, &receive_connect_info,
-                         cth, GNUNET_TIME_UNIT_FOREVER_REL);
-}
-
-
-/**
- * Function called to notify a client about the socket
- * begin ready to queue more data.  "buf" will be
- * NULL and "size" zero if the socket was closed for
- * writing in the meantime.
- *
- * @param cls closure
- * @param size number of bytes available in buf
- * @param buf where the callee should write the message
- * @return number of bytes written to buf
- */
-static size_t
-transmit_is_connected_request (void *cls, size_t size, void *buf)
-{
-  struct GNUNET_CORE_ConnectTestHandle *cth = cls;
-  struct GNUNET_MessageHeader *msg;
-  unsigned int msize;
-
-  cth->th = NULL;
-  msize =
-    sizeof (struct GNUNET_MessageHeader) +
-    sizeof (struct GNUNET_PeerIdentity);
-  if ( (NULL == buf) || (0 == size) )
-  {
-    cth->peer_cb (cth->cb_cls, NULL);
-    GNUNET_CLIENT_disconnect (cth->client);
-    GNUNET_free (cth);
-    return 0;
-  }
-  GNUNET_assert (size >= msize);
-  msg = (struct GNUNET_MessageHeader *) buf;
-  msg->size = htons (msize);
-  msg->type = htons (GNUNET_MESSAGE_TYPE_CORE_PEER_CONNECTED);
-  memcpy (&msg[1], &cth->peer, sizeof (struct GNUNET_PeerIdentity));
-  GNUNET_CLIENT_receive (cth->client, &receive_connect_info, cth,
-                         GNUNET_TIME_UNIT_FOREVER_REL);
-  return msize;
-}
-
-
-/**
- * Iterate over all currently connected peers.
- * Calls peer_cb with each connected peer, and then
- * once with NULL to indicate that all peers have
- * been handled.
- *
- * @param cfg configuration to use
- * @param peer the specific peer to check for
- * @param peer_cb function to call with the peer information
- * @param cb_cls closure for peer_cb
- *
- * @return GNUNET_OK if iterating, GNUNET_SYSERR on error
- */
-struct GNUNET_CORE_ConnectTestHandle *
-GNUNET_CORE_is_peer_connected (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                               const struct GNUNET_PeerIdentity *peer,
-                               GNUNET_CORE_ConnectEventHandler peer_cb,
-                               void *cb_cls)
-{
-  struct GNUNET_CORE_ConnectTestHandle *cth;
-  struct GNUNET_CLIENT_Connection *client;
-
-  GNUNET_assert (NULL != peer);
-  GNUNET_assert (NULL != peer_cb);
-  client = GNUNET_CLIENT_connect ("core", cfg);
-  if (NULL == client)
-    return NULL;
-  cth = GNUNET_malloc (sizeof (struct GNUNET_CORE_ConnectTestHandle));
-  cth->peer = *peer;
-  cth->client = client;
-  cth->peer_cb = peer_cb;
-  cth->cb_cls = cb_cls;
-  cth->th =
-    GNUNET_CLIENT_notify_transmit_ready (client,
-                                        sizeof (struct GNUNET_MessageHeader) +
-                                        sizeof (struct GNUNET_PeerIdentity),
-                                        GNUNET_TIME_UNIT_FOREVER_REL,
-                                        GNUNET_YES, 
&transmit_is_connected_request, cth);
-  GNUNET_assert (NULL != cth->th);
-  return cth;
-}
-
-
-/**
- * Abort 'is_connected' test operation.
- *
- * @param cth handle for operation to cancel
- */
-void
-GNUNET_CORE_is_peer_connected_cancel (struct GNUNET_CORE_ConnectTestHandle 
*cth)
-{
-  if (NULL != cth->th)
-  {
-    GNUNET_CLIENT_notify_transmit_ready_cancel (cth->th);
-    cth->th = NULL;
-  }
-  GNUNET_CLIENT_disconnect (cth->client);
-  GNUNET_free (cth);
-}
-
-
-/* end of core_api_is_connected.c */

Modified: gnunet/src/core/core_api_iterate_peers.c
===================================================================
--- gnunet/src/core/core_api_iterate_peers.c    2013-08-21 15:16:58 UTC (rev 
28749)
+++ gnunet/src/core/core_api_iterate_peers.c    2013-08-21 15:17:23 UTC (rev 
28750)
@@ -37,6 +37,7 @@
   struct GNUNET_CLIENT_Connection *client;
 
   /**
+
    * Handle for transmitting a request.
    */
   struct GNUNET_CLIENT_TransmitHandle *th;
@@ -120,7 +121,7 @@
  * NULL and "size" zero if the socket was closed for
  * writing in the meantime.
  *
- * @param cls closure
+ * @param cls closure, always NULL
  * @param size number of bytes available in buf
  * @param buf where the callee should write the message
  * @return number of bytes written to buf
@@ -129,32 +130,19 @@
 transmit_request (void *cls, size_t size, void *buf)
 {
   struct GNUNET_MessageHeader *msg;
-  struct GNUNET_PeerIdentity *peer = cls;
   int msize;
 
-  if (peer == NULL)
-    msize = sizeof (struct GNUNET_MessageHeader);
-  else
-    msize =
-        sizeof (struct GNUNET_MessageHeader) +
-        sizeof (struct GNUNET_PeerIdentity);
+  msize = sizeof (struct GNUNET_MessageHeader);
   if ((size < msize) || (buf == NULL))
     return 0;
   msg = (struct GNUNET_MessageHeader *) buf;
   msg->size = htons (msize);
-  if (peer != NULL)
-  {
-    msg->type = htons (GNUNET_MESSAGE_TYPE_CORE_PEER_CONNECTED);
-    memcpy (&msg[1], peer, sizeof (struct GNUNET_PeerIdentity));
-  }
-  else
-    msg->type = htons (GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS);
+  msg->type = htons (GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS);
 
   return msize;
 }
 
 
-
 /**
  * Iterate over all currently connected peers.
  * Calls peer_cb with each connected peer, and then
@@ -163,9 +151,8 @@
  *
  * @param cfg configuration to use
  * @param peer_cb function to call with the peer information
- * @param cb_cls closure for peer_cb
- *
- * @return GNUNET_OK if iterating, GNUNET_SYSERR on error
+ * @param cb_cls closure for @a peer_cb
+ * @return #GNUNET_OK if iterating, #GNUNET_SYSERR on error
  */
 int
 GNUNET_CORE_iterate_peers (const struct GNUNET_CONFIGURATION_Handle *cfg,
@@ -178,7 +165,7 @@
   client = GNUNET_CLIENT_connect ("core", cfg);
   if (client == NULL)
     return GNUNET_SYSERR;
-  request_context = GNUNET_malloc (sizeof (struct GNUNET_CORE_RequestContext));
+  request_context = GNUNET_new (struct GNUNET_CORE_RequestContext);
   request_context->client = client;
   request_context->peer_cb = peer_cb;
   request_context->cb_cls = cb_cls;

Modified: gnunet/src/core/gnunet-service-core_clients.c
===================================================================
--- gnunet/src/core/gnunet-service-core_clients.c       2013-08-21 15:16:58 UTC 
(rev 28749)
+++ gnunet/src/core/gnunet-service-core_clients.c       2013-08-21 15:17:23 UTC 
(rev 28750)
@@ -829,10 +829,6 @@
     {&GSC_SESSIONS_handle_client_iterate_peers, NULL,
      GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS,
      sizeof (struct GNUNET_MessageHeader)},
-    {&GSC_SESSIONS_handle_client_have_peer, NULL,
-     GNUNET_MESSAGE_TYPE_CORE_PEER_CONNECTED,
-     sizeof (struct GNUNET_MessageHeader) +
-     sizeof (struct GNUNET_PeerIdentity)},
     {&handle_client_send_request, NULL,
      GNUNET_MESSAGE_TYPE_CORE_SEND_REQUEST,
      sizeof (struct SendMessageRequest)},

Modified: gnunet/src/core/gnunet-service-core_sessions.c
===================================================================
--- gnunet/src/core/gnunet-service-core_sessions.c      2013-08-21 15:16:58 UTC 
(rev 28749)
+++ gnunet/src/core/gnunet-service-core_sessions.c      2013-08-21 15:17:23 UTC 
(rev 28750)
@@ -695,37 +695,6 @@
 
 
 /**
- * Handle CORE_PEER_CONNECTED request.   Notify client about connection
- * to the given neighbour.  For this request type, the client does not
- * have to have transmitted an INIT request.  All current peers are
- * returned, regardless of which message types they accept.
- *
- * @param cls unused
- * @param client client sending the iteration request
- * @param message iteration request message
- */
-void
-GSC_SESSIONS_handle_client_have_peer (void *cls,
-                                      struct GNUNET_SERVER_Client *client,
-                                      const struct GNUNET_MessageHeader
-                                      *message)
-{
-  struct GNUNET_MessageHeader done_msg;
-  struct GNUNET_SERVER_TransmitContext *tc;
-  const struct GNUNET_PeerIdentity *peer;
-
-  peer = (const struct GNUNET_PeerIdentity *) &message[1];      // YUCK!
-  tc = GNUNET_SERVER_transmit_context_create (client);
-  GNUNET_CONTAINER_multihashmap_get_multiple (sessions, &peer->hashPubKey,
-                                              &queue_connect_message, tc);
-  done_msg.size = htons (sizeof (struct GNUNET_MessageHeader));
-  done_msg.type = htons (GNUNET_MESSAGE_TYPE_CORE_ITERATE_PEERS_END);
-  GNUNET_SERVER_transmit_context_append_message (tc, &done_msg);
-  GNUNET_SERVER_transmit_context_run (tc, GNUNET_TIME_UNIT_FOREVER_REL);
-}
-
-
-/**
  * We've received a typemap message from a peer, update ours.
  * Notifies clients about the session.
  *

Modified: gnunet/src/core/gnunet-service-core_sessions.h
===================================================================
--- gnunet/src/core/gnunet-service-core_sessions.h      2013-08-21 15:16:58 UTC 
(rev 28749)
+++ gnunet/src/core/gnunet-service-core_sessions.h      2013-08-21 15:17:23 UTC 
(rev 28750)
@@ -157,24 +157,6 @@
 
 
 /**
- * Handle CORE_PEER_CONNECTED request.  Notify client about connection
- * to the given neighbour.  For this request type, the client does not
- * have to have transmitted an INIT request.  All current peers are
- * returned, regardless of which message types they accept.
- *
- * @param cls unused
- * @param client client sending the iteration request
- * @param message iteration request message
- */
-void
-GSC_SESSIONS_handle_client_have_peer (void *cls,
-                                      struct GNUNET_SERVER_Client *client,
-                                      const struct GNUNET_MessageHeader
-                                      *message);
-
-
-
-/**
  * Initialize sessions subsystem.
  */
 void




reply via email to

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