gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r17082 - gnunet/src/dht


From: gnunet
Subject: [GNUnet-SVN] r17082 - gnunet/src/dht
Date: Tue, 27 Sep 2011 23:07:58 +0200

Author: grothoff
Date: 2011-09-27 23:07:58 +0200 (Tue, 27 Sep 2011)
New Revision: 17082

Removed:
   gnunet/src/dht/plugin_dhtlog_mysql_dump_load.c
   gnunet/src/dht/test_dhtlog.c
Log:
DCE

Deleted: gnunet/src/dht/plugin_dhtlog_mysql_dump_load.c
===================================================================
--- gnunet/src/dht/plugin_dhtlog_mysql_dump_load.c      2011-09-27 21:06:11 UTC 
(rev 17081)
+++ gnunet/src/dht/plugin_dhtlog_mysql_dump_load.c      2011-09-27 21:07:58 UTC 
(rev 17082)
@@ -1,944 +0,0 @@
-/*
-     This file is part of GNUnet.
-     (C) 2006 - 2009 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 2, 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 src/dht/plugin_dhtlog_mysql_dump_load.c
- * @brief MySQL logging plugin to record DHT operations to MySQL server,
- *        but write all queries to file instead of the actual server
- *        so that they can be imported later.  Since the first attempt
- *        (writing out SQL queries) seemed rather time consuming on insert,
- *        this plugin writes out tab separated values instead.
- *
- * @author Nathan Evans
- *
- * Database: MySQL
- */
-
-#include "platform.h"
-#include "gnunet_util_lib.h"
-#include "dhtlog.h"
-
-
-#define DEBUG_DHTLOG GNUNET_YES
-
-/**
- * Maximum number of supported parameters for a prepared
- * statement.  Increase if needed.
- */
-#define MAX_PARAM 32
-
-
-static unsigned long max_varchar_len;
-
-/**
- * The configuration the DHT service is running with
- */
-static const struct GNUNET_CONFIGURATION_Handle *cfg;
-
-#define DATE_STR_SIZE 50
-
-static unsigned int topology_count;
-
-/**
- * File(s) to dump all sql statements to.
- */
-FILE *outfile;
-FILE *generic_stat_outfile;
-FILE *stat_outfile;
-FILE *node_outfile;
-FILE *query_outfile;
-FILE *route_outfile;
-FILE *dhtkey_outfile;
-FILE *extended_topology_outfile;
-
-static char *
-get_sql_time ()
-{
-  static char date[DATE_STR_SIZE];
-  time_t timetmp;
-  struct tm *tmptr;
-
-  time (&timetmp);
-  memset (date, 0, DATE_STR_SIZE);
-  tmptr = localtime (&timetmp);
-  if (NULL != tmptr)
-    strftime (date, DATE_STR_SIZE, "%Y-%m-%d %H:%M:%S", tmptr);
-  else
-    strcpy (date, "");
-
-  return date;
-}
-
-/*
- * Records the current topology (number of connections, time, trial)
- *
- * @param num_connections how many connections are in the topology
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_topology (int num_connections)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "insert into topology (trialuid, date, connections) values 
(@temp_trial, \"%s\", %d);\n",
-               get_sql_time (), num_connections);
-  if (ret < 0)
-    return GNUNET_SYSERR;
-  ret =
-      fprintf (outfile,
-               "select max(topology_uid) from topology into 
@temp_topology;\n");
-  if (ret >= 0)
-    return GNUNET_OK;
-  return GNUNET_SYSERR;
-}
-
-/*
- * Inserts the specified round into the dhttests.rounds table
- *
- * @param round_type the type of round that is being started
- * @param round_count counter for the round (if applicable)
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_round (unsigned int round_type, unsigned int round_count)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "insert into rounds (trialuid, round_type, round_count, 
starttime) values (@temp_trial, \"%u\", \"%u\", \"%s\");\n",
-               round_type, round_count, get_sql_time ());
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  return GNUNET_SYSERR;
-
-}
-
-/*
- * Inserts the specified round results into the
- * dhttests.processed_round_details table
- *
- * @param round_type the type of round that is being started
- * @param round_count counter for the round (if applicable)
- * @param num_messages the total number of messages initiated
- * @param num_messages_succeeded the number of messages that succeeded
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_round_details (unsigned int round_type, unsigned int round_count,
-                   unsigned int num_messages,
-                   unsigned int num_messages_succeeded)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "insert into processed_trial_rounds (trialuid, round_type, 
round_count, starttime, endtime, num_messages, num_messages_succeeded) values 
(@temp_trial, \"%u\", \"%u\", \"%s\", \"%s\", \"%u\", \"%u\");\n",
-               round_type, round_count, get_sql_time (), get_sql_time (),
-               num_messages, num_messages_succeeded);
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  return GNUNET_SYSERR;
-}
-
-/*
- * Records a connection between two peers in the current topology
- *
- * @param first one side of the connection
- * @param second other side of the connection
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_extended_topology (const struct GNUNET_PeerIdentity *first,
-                       const struct GNUNET_PeerIdentity *second)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (extended_topology_outfile,
-               "insert into extended_topology (topology_uid, uid_first, 
uid_second) values (%u, %s,",
-               topology_count, GNUNET_h2s_full (&first->hashPubKey));
-  if (ret < 0)
-    return GNUNET_SYSERR;
-  ret =
-      fprintf (extended_topology_outfile, "%s);\n",
-               GNUNET_h2s_full (&second->hashPubKey));
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  return GNUNET_SYSERR;
-}
-
-
-/*
- * Inserts the specified trial into the dhttests.trials table
- *
- * @param trial_info struct containing the data to insert about this trial
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_trial (struct GNUNET_DHTLOG_TrialInfo *trial_info)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "INSERT INTO trials "
-               "(starttime, other_trial_identifier, numnodes, topology,"
-               "blacklist_topology, connect_topology, connect_topology_option,"
-               "connect_topology_option_modifier, topology_percentage, 
topology_probability,"
-               "puts, gets, "
-               "concurrent, settle_time, num_rounds, malicious_getters,"
-               "malicious_putters, malicious_droppers, 
malicious_get_frequency,"
-               "malicious_put_frequency, stop_closest, stop_found, 
strict_kademlia, "
-               "gets_succeeded, message) "
-               "VALUES (\"%s\", %u, %u, %u, %u, %u, %u, %f, %f, %f, %u, %u, 
%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, \"%s\");\n",
-               get_sql_time (), trial_info->other_identifier,
-               trial_info->num_nodes, trial_info->topology,
-               trial_info->blacklist_topology, trial_info->connect_topology,
-               trial_info->connect_topology_option,
-               trial_info->connect_topology_option_modifier,
-               trial_info->topology_percentage,
-               trial_info->topology_probability, trial_info->puts,
-               trial_info->gets, trial_info->concurrent,
-               trial_info->settle_time, trial_info->num_rounds,
-               trial_info->malicious_getters, trial_info->malicious_putters,
-               trial_info->malicious_droppers,
-               trial_info->malicious_get_frequency,
-               trial_info->malicious_put_frequency, trial_info->stop_closest,
-               trial_info->stop_found, trial_info->strict_kademlia,
-               trial_info->gets_succeeded, trial_info->message);
-
-  if (ret < 0)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "SELECT MAX( trialuid ) FROM trials into @temp_trial;\n");
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-
-/*
- * Inserts the specified stats into the dhttests.generic_stats table
- *
- * @param peer the peer inserting the statistic
- * @param name the name of the statistic
- * @param section the section of the statistic
- * @param value the value of the statistic
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_generic_stat (const struct GNUNET_PeerIdentity *peer, const char *name,
-                  const char *section, uint64_t value)
-{
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  if (peer != NULL)
-    fprintf (generic_stat_outfile, "TRIALUID\t%s\t%s\t%s\t%llu\n",
-             GNUNET_h2s_full (&peer->hashPubKey), section, name,
-             (unsigned long long) value);
-
-  return GNUNET_OK;
-}
-
-
-/*
- * Inserts the specified stats into the dhttests.node_statistics table
- *
- * @param peer the peer inserting the statistic
- * @param route_requests route requests seen
- * @param route_forwards route requests forwarded
- * @param result_requests route result requests seen
- * @param client_requests client requests initiated
- * @param result_forwards route results forwarded
- * @param gets get requests handled
- * @param puts put requests handle
- * @param data_inserts data inserted at this node
- * @param find_peer_requests find peer requests seen
- * @param find_peers_started find peer requests initiated at this node
- * @param gets_started get requests initiated at this node
- * @param puts_started put requests initiated at this node
- * @param find_peer_responses_received find peer responses received locally
- * @param get_responses_received get responses received locally
- * @param find_peer_responses_sent find peer responses sent from this node
- * @param get_responses_sent get responses sent from this node
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_stat (const struct GNUNET_PeerIdentity *peer, unsigned int route_requests,
-          unsigned int route_forwards, unsigned int result_requests,
-          unsigned int client_requests, unsigned int result_forwards,
-          unsigned int gets, unsigned int puts, unsigned int data_inserts,
-          unsigned int find_peer_requests, unsigned int find_peers_started,
-          unsigned int gets_started, unsigned int puts_started,
-          unsigned int find_peer_responses_received,
-          unsigned int get_responses_received,
-          unsigned int find_peer_responses_sent,
-          unsigned int get_responses_sent)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  if (peer != NULL)
-    ret =
-        fprintf (stat_outfile,
-                 
"TRIALUID\t%s\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\n",
-                 GNUNET_h2s_full (&peer->hashPubKey), route_requests,
-                 route_forwards, result_requests, client_requests,
-                 result_forwards, gets, puts, data_inserts, find_peer_requests,
-                 find_peers_started, gets_started, puts_started,
-                 find_peer_responses_received, get_responses_received,
-                 find_peer_responses_sent, get_responses_sent);
-
-  else
-    return GNUNET_SYSERR;
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-/*
- * Inserts the specified dhtkey into the dhttests.dhtkeys table,
- * stores return value of dhttests.dhtkeys.dhtkeyuid into dhtkeyuid
- *
- * @param dhtkeyuid return value
- * @param dhtkey hashcode of key to insert
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_dhtkey (unsigned long long *dhtkeyuid, const GNUNET_HashCode * dhtkey)
-{
-  int ret;
-
-  if (dhtkeyuid != NULL)
-    *dhtkeyuid = 0;
-
-  if ((dhtkey_outfile == NULL) || (dhtkey == NULL))
-    return GNUNET_SYSERR;
-
-  ret = fprintf (dhtkey_outfile, "TRIALUID\t%s\n", GNUNET_h2s_full (dhtkey));
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-/*
- * Inserts the specified node into the dhttests.nodes table
- *
- * @param nodeuid the inserted node uid
- * @param node the node to insert
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure
- */
-int
-add_node (unsigned long long *nodeuid, struct GNUNET_PeerIdentity *node)
-{
-  int ret;
-
-  if ((node == NULL) || (node_outfile == NULL))
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (node_outfile, "TRIALUID\t%s\n",
-               GNUNET_h2s_full (&node->hashPubKey));
-  fflush (node_outfile);
-  if (ret >= 0)
-    return GNUNET_OK;
-  return GNUNET_SYSERR;
-}
-
-/*
- * Update dhttests.trials table with current server time as end time
- *
- * @param gets_succeeded how many gets did the testcase report as successful
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure.
- */
-int
-update_trials (unsigned int gets_succeeded)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "update trials set endtime=\"%s\", gets_succeeded=%u where 
trialuid = @temp_trial;\n",
-               get_sql_time (), gets_succeeded);
-  fflush (node_outfile);
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-
-/*
- * Update dhttests.nodes table setting the identified
- * node as a malicious dropper.
- *
- * @param peer the peer that was set to be malicious
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure.
- */
-int
-set_malicious (struct GNUNET_PeerIdentity *peer)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "update nodes set malicious_dropper = 1 where trialuid = 
@temp_trial and nodeid = \"%s\";\n",
-               GNUNET_h2s_full (&peer->hashPubKey));
-  fflush (node_outfile);
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-
-/*
- * Update dhttests.trials table with total connections information
- *
- * @param totalConnections the number of connections
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure.
- */
-int
-add_connections (unsigned int totalConnections)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "update trials set totalConnections = %u where trialuid = 
@temp_trial;\n",
-               totalConnections);
-  fflush (node_outfile);
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-
-/*
- * Update dhttests.topology table with total connections information
- *
- * @param connections the number of connections
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure.
- */
-int
-update_topology (unsigned int connections)
-{
-  int ret;
-
-  if (outfile == NULL)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (outfile,
-               "update topology set connections = %u where topology_uid = 
@temp_topology;\n",
-               connections);
-  topology_count++;
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-/*
- * Inserts the specified query into the dhttests.queries table
- *
- * @param sqlqueruid inserted query uid
- * @param queryid dht query id
- * @param type type of the query
- * @param hops number of hops query traveled
- * @param succeeded whether or not query was successful
- * @param node the node the query hit
- * @param key the key of the query
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure.
- */
-int
-add_query (unsigned long long *sqlqueryuid, unsigned long long queryid,
-           unsigned int type, unsigned int hops, int succeeded,
-           const struct GNUNET_PeerIdentity *node, const GNUNET_HashCode * key)
-{
-  int ret;
-
-  if ((outfile == NULL) || (node == NULL) || (key == NULL))
-    return GNUNET_SYSERR;
-
-  if (sqlqueryuid != NULL)
-    *sqlqueryuid = 0;
-
-  ret = fprintf (query_outfile, "TRIALUID\t%s\t", GNUNET_h2s_full (key));
-
-  if (ret < 0)
-    return GNUNET_SYSERR;
-
-  ret =
-      fprintf (query_outfile, "%s\t%llu\t%u\t%u\t%u\t%s\n",
-               GNUNET_h2s_full (&node->hashPubKey), queryid, type, hops,
-               succeeded, get_sql_time ());
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-/*
- * Inserts the specified route information into the dhttests.routes table
- *
- * @param sqlqueruid inserted query uid
- * @param queryid dht query id
- * @param type type of the query
- * @param hops number of hops query traveled
- * @param succeeded whether or not query was successful
- * @param node the node the query hit
- * @param key the key of the query
- * @param from_node the node that sent the message to node
- * @param to_node next node to forward message to
- *
- * @return GNUNET_OK on success, GNUNET_SYSERR on failure.
- */
-int
-add_route (unsigned long long *sqlqueryuid, unsigned long long queryid,
-           unsigned int type, unsigned int hops, int succeeded,
-           const struct GNUNET_PeerIdentity *node, const GNUNET_HashCode * key,
-           const struct GNUNET_PeerIdentity *from_node,
-           const struct GNUNET_PeerIdentity *to_node)
-{
-  int ret;
-
-  if ((outfile == NULL) || (node == NULL) || (key == NULL))
-    return GNUNET_SYSERR;
-
-  if (sqlqueryuid != NULL)
-    *sqlqueryuid = 0;
-
-  ret = fprintf (route_outfile, "TRIALUID\t%s\t", GNUNET_h2s_full (key));
-  if (ret < 0)
-    return GNUNET_SYSERR;
-
-  ret = fprintf (route_outfile, "%s\t", GNUNET_h2s_full (&node->hashPubKey));
-  if (ret < 0)
-    return GNUNET_SYSERR;
-  if (from_node == NULL)
-    ret = fprintf (route_outfile, "0\t");
-  else
-    ret =
-        fprintf (route_outfile, "%s\t",
-                 GNUNET_h2s_full (&from_node->hashPubKey));
-  if (ret < 0)
-    return GNUNET_SYSERR;
-
-  if (to_node == NULL)
-    ret =
-        fprintf (route_outfile, "0\t%llu\t%u\t%u\t%d\n", queryid, type, hops,
-                 succeeded);
-  else
-    ret =
-        fprintf (route_outfile, "%s\t%llu\t%u\t%u\t%d\n",
-                 GNUNET_h2s_full (&to_node->hashPubKey), queryid, type, hops,
-                 succeeded);
-
-  if (ret >= 0)
-    return GNUNET_OK;
-  else
-    return GNUNET_SYSERR;
-}
-
-/*
- * Provides the dhtlog api
- *
- * @param c the configuration to use to connect to a server
- *
- * @return the handle to the server, or NULL on error
- */
-void *
-libgnunet_plugin_dhtlog_mysql_dump_load_init (void *cls)
-{
-  struct GNUNET_DHTLOG_Plugin *plugin = cls;
-  char *outfile_name;
-  char *outfile_path;
-  char *fn;
-  int dirwarn;
-
-  cfg = plugin->cfg;
-  max_varchar_len = 255;
-
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "MySQL (DUMP) DHT Logger: initializing\n");
-
-  if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (plugin->cfg, "MYSQLDUMP", "PATH",
-                                             &outfile_path))
-  {
-    outfile_path = GNUNET_strdup ("");
-  }
-
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path, "mysqldump",
-                   getpid ());
-
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  outfile = FOPEN (fn, "w");
-
-  if (outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_name);
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path, "mysqldump_nodes",
-                   getpid ());
-  GNUNET_free (fn);
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  node_outfile = FOPEN (fn, "w");
-
-  if (node_outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_name);
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path, "mysqldump_routes",
-                   getpid ());
-
-  GNUNET_free (fn);
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  route_outfile = FOPEN (fn, "w");
-
-  if (route_outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_name);
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path, "mysqldump_queries",
-                   getpid ());
-
-  GNUNET_free (fn);
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  query_outfile = FOPEN (fn, "w");
-
-  if (query_outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_name);
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path, "mysqldump_stats",
-                   getpid ());
-
-  GNUNET_free (fn);
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  stat_outfile = FOPEN (fn, "w");
-
-  if (stat_outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_name);
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path,
-                   "mysqldump_generic_stats", getpid ());
-  GNUNET_free (fn);
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  generic_stat_outfile = FOPEN (fn, "w");
-
-  if (generic_stat_outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_name);
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path, "mysqldump_dhtkey",
-                   getpid ());
-  GNUNET_free (fn);
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  dhtkey_outfile = FOPEN (fn, "w");
-
-  if (dhtkey_outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_name);
-  GNUNET_asprintf (&outfile_name, "%s%s-%d", outfile_path,
-                   "mysqldump_extended_topology", getpid ());
-  GNUNET_free (fn);
-  fn = GNUNET_STRINGS_filename_expand (outfile_name);
-
-  if (fn == NULL)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to get full path for `%s'\n"), outfile_name);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    return NULL;
-  }
-
-  dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn));
-  extended_topology_outfile = FOPEN (fn, "w");
-
-  if (extended_topology_outfile == NULL)
-  {
-    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "fopen", fn);
-    if (dirwarn)
-      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Failed to create or access directory for log file 
`%s'\n"),
-                  fn);
-    GNUNET_free (outfile_path);
-    GNUNET_free (outfile_name);
-    GNUNET_free (fn);
-    return NULL;
-  }
-
-  GNUNET_free (outfile_path);
-  GNUNET_free (outfile_name);
-  GNUNET_free (fn);
-
-  GNUNET_assert (plugin->dhtlog_api == NULL);
-  plugin->dhtlog_api = GNUNET_malloc (sizeof (struct GNUNET_DHTLOG_Handle));
-  plugin->dhtlog_api->insert_trial = &add_trial;
-  plugin->dhtlog_api->insert_stat = &add_stat;
-  plugin->dhtlog_api->insert_round = &add_round;
-  plugin->dhtlog_api->insert_round_details = &add_round_details;
-  plugin->dhtlog_api->insert_query = &add_query;
-  plugin->dhtlog_api->update_trial = &update_trials;
-  plugin->dhtlog_api->insert_route = &add_route;
-  plugin->dhtlog_api->insert_node = &add_node;
-  plugin->dhtlog_api->insert_dhtkey = &add_dhtkey;
-  plugin->dhtlog_api->update_connections = &add_connections;
-  plugin->dhtlog_api->insert_topology = &add_topology;
-  plugin->dhtlog_api->insert_extended_topology = &add_extended_topology;
-  plugin->dhtlog_api->update_topology = &update_topology;
-  plugin->dhtlog_api->set_malicious = &set_malicious;
-  plugin->dhtlog_api->add_generic_stat = &add_generic_stat;
-
-  return plugin;
-}
-
-/**
- * Shutdown the plugin.
- */
-void *
-libgnunet_plugin_dhtlog_mysql_dump_load_done (void *cls)
-{
-  struct GNUNET_DHTLOG_Handle *dhtlog_api = cls;
-
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "MySQL DHT Logger: database 
shutdown\n");
-  GNUNET_assert (dhtlog_api != NULL);
-
-  fclose (outfile);
-  fclose (node_outfile);
-  fclose (query_outfile);
-  fclose (route_outfile);
-  fclose (stat_outfile);
-  fclose (generic_stat_outfile);
-  fclose (extended_topology_outfile);
-  GNUNET_free (dhtlog_api);
-  return NULL;
-}
-
-/* end of plugin_dhtlog_mysql_dump_load.c */

Deleted: gnunet/src/dht/test_dhtlog.c
===================================================================
--- gnunet/src/dht/test_dhtlog.c        2011-09-27 21:06:11 UTC (rev 17081)
+++ gnunet/src/dht/test_dhtlog.c        2011-09-27 21:07:58 UTC (rev 17082)
@@ -1,256 +0,0 @@
-/*
-     This file is part of GNUnet.
-     (C) 2006, 2009 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 2, 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 src/dht/test_dhtlog.c
- * @brief Test of the dhtlog service
- * @author Nathan Evans
- */
-
-#include "platform.h"
-#include "gnunet_util_lib.h"
-#include "gnunet_protocols.h"
-#include "dhtlog.h"
-
-#define VERBOSE GNUNET_NO
-
-static int ok;
-
-#define CHECK(a) if (a != GNUNET_OK) return a
-/**
- * Actual test of the service operations
- */
-static int
-test (struct GNUNET_DHTLOG_Handle *api)
-{
-  struct GNUNET_PeerIdentity p1;
-  struct GNUNET_PeerIdentity p2;
-  struct GNUNET_PeerIdentity p3;
-  struct GNUNET_PeerIdentity p4;
-  struct GNUNET_DHTLOG_TrialInfo trial_info;
-  GNUNET_HashCode k1;
-  GNUNET_HashCode k2;
-  int ret;
-  unsigned int i = 42;
-  unsigned long long sqlqueryuid;
-  unsigned long long sqlrouteuid = 0;
-  unsigned long long nodeuid = 0;
-  unsigned long long internaluid = 1010223344LL;
-  unsigned long long dhtkeyuid = 0;
-
-  memset (&p1.hashPubKey, 3, sizeof (GNUNET_HashCode));
-  memset (&p2.hashPubKey, 4, sizeof (GNUNET_HashCode));
-  memset (&p3.hashPubKey, 5, sizeof (GNUNET_HashCode));
-  memset (&p4.hashPubKey, 6, sizeof (GNUNET_HashCode));
-
-  memset (&k1, 0, sizeof (GNUNET_HashCode));
-  memset (&k2, 1, sizeof (GNUNET_HashCode));
-  memset (&trial_info, 0, sizeof (struct GNUNET_DHTLOG_TrialInfo));
-  trial_info.other_identifier = 777;
-  trial_info.num_nodes = i;
-  trial_info.topology = 5;
-  trial_info.blacklist_topology = 4;
-  trial_info.connect_topology = 3;
-  trial_info.connect_topology_option = 2;
-  trial_info.connect_topology_option_modifier = .75;
-  trial_info.topology_percentage = .25;
-  trial_info.topology_probability = .5;
-  trial_info.puts = 42;
-  trial_info.gets = 14;
-  trial_info.concurrent = 5;
-  trial_info.settle_time = 1;
-  trial_info.num_rounds = 12;
-  trial_info.malicious_getters = 0;
-  trial_info.malicious_putters = 0;
-  trial_info.malicious_droppers = 0;
-  trial_info.malicious_get_frequency = 1;
-  trial_info.malicious_put_frequency = 0;
-  trial_info.stop_closest = 1;
-  trial_info.stop_found = 0;
-  trial_info.strict_kademlia = 1;
-  trial_info.message = GNUNET_strdup ("TEST INSERT_TRIAL");
-  ret = api->insert_trial (&trial_info);
-  GNUNET_free (trial_info.message);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert trial succeeded!\n");
-#endif
-  ret = api->insert_topology (500);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert topology succeeded!\n");
-#endif
-  ret = api->insert_node (&nodeuid, &p1);
-  CHECK (ret);
-  ret = api->insert_node (&nodeuid, &p2);
-  CHECK (ret);
-  ret = api->insert_node (&nodeuid, &p3);
-  CHECK (ret);
-  ret = api->insert_node (&nodeuid, &p4);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert node succeeded!\n");
-#endif
-  ret = api->set_malicious (&p1);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Set malicious succeeded!\n");
-#endif
-  ret = api->insert_topology (0);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert topology succeeded!\n");
-#endif
-  ret = api->insert_extended_topology (&p1, &p2);
-  CHECK (ret);
-  ret = api->insert_extended_topology (&p3, &p4);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert extended topology succeeded!\n");
-#endif
-  ret = api->update_topology (101);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Update topology succeeded!\n");
-#endif
-  ret = api->insert_dhtkey (&dhtkeyuid, &k1);
-  CHECK (ret);
-  ret = api->insert_dhtkey (&dhtkeyuid, &k2);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert dhtkey succeeded!\n");
-#endif
-  ret = api->insert_query (&sqlqueryuid, internaluid, 2, 4, 0, &p2, &k1);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert query succeeded!\n");
-#endif
-  ret =
-      api->insert_route (&sqlrouteuid, sqlqueryuid, 1, 1, DHTLOG_GET, &p1, &k2,
-                         &p4, &p3);
-  CHECK (ret);
-  ret =
-      api->insert_route (&sqlrouteuid, sqlqueryuid, 2, 0, DHTLOG_PUT, &p3, &k1,
-                         &p4, &p2);
-  CHECK (ret);
-  ret =
-      api->insert_route (&sqlrouteuid, sqlqueryuid, 3, 1, DHTLOG_ROUTE, &p3,
-                         &k2, &p2, NULL);
-  CHECK (ret);
-  ret =
-      api->insert_route (&sqlrouteuid, sqlqueryuid, 4, 7, DHTLOG_ROUTE, &p3,
-                         &k2, NULL, NULL);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert route succeeded!\n");
-#endif
-  sleep (1);
-  ret =
-      api->insert_stat (&p1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 
16,
-                        17);
-  CHECK (ret);
-  ret =
-      api->insert_stat (&p2, 12, 23, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 
24,
-                        25, 26, 27);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert stat succeeded!\n");
-#endif
-  ret = api->update_trial (787);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Update trial succeeded!\n");
-#endif
-  ret = api->add_generic_stat (&p2, "nonsense", "section", 77765);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert generic stat succeeded!\n");
-#endif
-  ret = api->insert_round (401, 507);
-  CHECK (ret);
-  ret = api->insert_round_details (402, 507, 1123, 985);
-  CHECK (ret);
-#if VERBOSE
-  fprintf (stderr, "Insert round succeeded!\n");
-#endif
-  return 0;
-}
-
-
-
-static void
-run (void *cls, char *const *args, const char *cfgfile,
-     const struct GNUNET_CONFIGURATION_Handle *cfg)
-{
-  struct GNUNET_DHTLOG_Handle *api;
-
-  ok = 0;
-  api = GNUNET_DHTLOG_connect (cfg);
-
-  if (api == NULL)
-  {
-    ok = 1;
-    return;
-  }
-  ok = test (api);
-
-  GNUNET_DHTLOG_disconnect (api);
-}
-
-
-static int
-check ()
-{
-  char *const argv[] = { "test-dhtlog-api",
-    "-c",
-    "test_dhtlog_data.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
-    NULL
-  };
-  struct GNUNET_GETOPT_CommandLineOption options[] = {
-    GNUNET_GETOPT_OPTION_END
-  };
-  GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv,
-                      "test-dhtlog-api", "nohelp", options, &run, NULL);
-  if (ok != 0)
-    fprintf (stderr, "Test failed with error code: %d\n", ok);
-  return ok;
-}
-
-
-int
-main (int argc, char *argv[])
-{
-  int ret;
-
-  GNUNET_log_setup ("test-datacache-api",
-#if VERBOSE
-                    "DEBUG",
-#else
-                    "WARNING",
-#endif
-                    NULL);
-  ret = check ();
-
-  return ret;
-}
-
-/* end of test_dhtlog.c */




reply via email to

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