2 This file is part of GNUnet.
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 3, or (at your
8 option) any later version.
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
22 * @file rps/rps-test_util.c
23 * @brief Some utils faciliating the view into the internals for the sampler
24 * needed for evaluation
26 * @author Julius Bünger
30 #include "gnunet_util_lib.h"
34 #define LOG(kind, ...) GNUNET_log_from(kind,"rps-sampler",__VA_ARGS__)
42 to_file_ (char *file_name, char *line)
44 struct GNUNET_DISK_FileHandle *f;
45 char output_buffer[512];
51 if (NULL == (f = GNUNET_DISK_file_open (file_name,
52 GNUNET_DISK_OPEN_APPEND |
53 GNUNET_DISK_OPEN_WRITE |
54 GNUNET_DISK_OPEN_CREATE,
55 GNUNET_DISK_PERM_USER_READ |
56 GNUNET_DISK_PERM_USER_WRITE |
57 GNUNET_DISK_PERM_GROUP_READ |
58 GNUNET_DISK_PERM_OTHER_READ)))
60 LOG (GNUNET_ERROR_TYPE_WARNING,
61 "Not able to open file %s\n",
65 size = GNUNET_snprintf (output_buffer,
66 sizeof (output_buffer),
68 GNUNET_TIME_absolute_get ().abs_value_us,
72 LOG (GNUNET_ERROR_TYPE_WARNING,
73 "Failed to write string to buffer (size: %i)\n",
78 size2 = GNUNET_DISK_file_write (f, output_buffer, size);
81 LOG (GNUNET_ERROR_TYPE_WARNING,
82 "Unable to write to file! (Size: %u, size2: %u)\n",
86 if (GNUNET_YES != GNUNET_DISK_file_close (f))
87 LOG (GNUNET_ERROR_TYPE_WARNING,
88 "Unable to close file\n");
93 if (GNUNET_YES != GNUNET_DISK_file_close (f))
94 LOG (GNUNET_ERROR_TYPE_WARNING,
95 "Unable to close file\n");
99 auth_key_to_string (struct GNUNET_CRYPTO_AuthKey auth_key)
102 size_t name_buf_size;
106 size_t keylen = (sizeof (struct GNUNET_CRYPTO_AuthKey)) * 8;
108 name_buf_size = 512 * sizeof (char);
109 name_buf = GNUNET_malloc (name_buf_size);
112 keylen += 5 - keylen % 5;
114 buf = GNUNET_malloc (keylen + 1);
116 end = GNUNET_STRINGS_data_to_string (&(auth_key.key),
117 sizeof (struct GNUNET_CRYPTO_AuthKey),
131 size = GNUNET_snprintf (name_buf, name_buf_size, "sampler_el-%s", buf);
133 LOG (GNUNET_ERROR_TYPE_WARNING, "Failed to create name_buf\n");
141 struct GNUNET_CRYPTO_AuthKey
142 string_to_auth_key (const char *str)
144 struct GNUNET_CRYPTO_AuthKey auth_key;
147 GNUNET_STRINGS_string_to_data (str,
150 sizeof (struct GNUNET_CRYPTO_AuthKey)))
152 LOG (GNUNET_ERROR_TYPE_WARNING, "Failed to convert string to data\n");
160 create_file (const char *name)
163 size_t name_buf_size;
168 prefix = "/tmp/rps/";
169 name_buf_size = (strlen (prefix) + strlen (name) + 2) * sizeof (char);
170 name_buf = GNUNET_malloc (name_buf_size);
172 size = GNUNET_snprintf (name_buf, name_buf_size, "%s%s", prefix, name);
174 LOG (GNUNET_ERROR_TYPE_WARNING, "Failed to create name_buf\n");
176 if (GNUNET_YES != GNUNET_DISK_directory_create (prefix))
178 LOG (GNUNET_ERROR_TYPE_WARNING,
179 "Could not create directory %s.\n",
183 if (NULL == strstr (name, "sampler_el"))
184 {/* only append random string to sampler */
185 if (NULL == (file_name = GNUNET_DISK_mktemp (name_buf)))
186 LOG (GNUNET_ERROR_TYPE_WARNING, "Could not create file\n");
188 GNUNET_free (name_buf);
197 /* end of gnunet-service-rps.c */