diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-04-16 15:37:46 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-04-16 15:37:46 +0000 |
commit | d043dd0e4ca407081eaa1b9072b37b1d9e715813 (patch) | |
tree | e07cb8c113d8406745821c495c7fb3c53e74b050 /src/ats/perf_ats_mlp.c | |
parent | 58082a82b9b089de618dfe693e9342e078437451 (diff) | |
download | gnunet-d043dd0e4ca407081eaa1b9072b37b1d9e715813.tar.gz gnunet-d043dd0e4ca407081eaa1b9072b37b1d9e715813.zip |
- changes
Diffstat (limited to 'src/ats/perf_ats_mlp.c')
-rw-r--r-- | src/ats/perf_ats_mlp.c | 63 |
1 files changed, 22 insertions, 41 deletions
diff --git a/src/ats/perf_ats_mlp.c b/src/ats/perf_ats_mlp.c index a15e4b4b8..2daac4769 100644 --- a/src/ats/perf_ats_mlp.c +++ b/src/ats/perf_ats_mlp.c | |||
@@ -35,12 +35,17 @@ | |||
35 | #define MLP_MAX_EXEC_DURATION GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 3) | 35 | #define MLP_MAX_EXEC_DURATION GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 3) |
36 | #define MLP_MAX_ITERATIONS INT_MAX | 36 | #define MLP_MAX_ITERATIONS INT_MAX |
37 | 37 | ||
38 | #define DEF_PEERS 10 | ||
39 | #define DEF_ADDRESSES_PER_PEER 5 | ||
40 | |||
41 | static unsigned int peers; | ||
42 | static unsigned int addresses; | ||
38 | 43 | ||
39 | static int ret; | 44 | static int ret; |
40 | 45 | ||
41 | struct GNUNET_STATISTICS_Handle * stats; | 46 | struct GNUNET_STATISTICS_Handle * stats; |
42 | 47 | ||
43 | struct GNUNET_CONTAINER_MultiHashMap * addresses; | 48 | //struct GNUNET_CONTAINER_MultiHashMap * addresses; |
44 | 49 | ||
45 | struct GAS_MLP_Handle *mlp; | 50 | struct GAS_MLP_Handle *mlp; |
46 | 51 | ||
@@ -53,56 +58,26 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
53 | ret = 1; | 58 | ret = 1; |
54 | return; | 59 | return; |
55 | #endif | 60 | #endif |
56 | struct ATS_Address addr[10]; | ||
57 | |||
58 | stats = GNUNET_STATISTICS_create("ats", cfg); | ||
59 | 61 | ||
60 | addresses = GNUNET_CONTAINER_multihashmap_create (10); | 62 | if (peers == 0) |
63 | peers = DEF_PEERS; | ||
64 | if (addresses == 0) | ||
65 | addresses = DEF_ADDRESSES_PER_PEER; | ||
61 | 66 | ||
62 | GNUNET_CRYPTO_hash_create_random(GNUNET_CRYPTO_QUALITY_WEAK, &addr[0].peer.hashPubKey); | 67 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Setting up %u peers with %u addresses per peer\n", peers, addresses); |
63 | addr[0].mlp_information = NULL; | ||
64 | addr[0].next = NULL; | ||
65 | addr[0].prev = NULL; | ||
66 | addr[0].plugin = strdup ("dummy"); | ||
67 | 68 | ||
68 | addr[1].peer = addr[0].peer; | 69 | GNUNET_HashCode hash; |
69 | addr[1].mlp_information = NULL; | 70 | //memset (&hash, '\0', sizeof (GNUNET_HashCode)); |
70 | addr[1].next = NULL; | 71 | //hash.bits[0] = 1; |
71 | addr[1].prev = NULL; | 72 | //GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "peer %s\n", GNUNET_h2s_full (&hash)); |
72 | addr[1].plugin = strdup ("dummy2"); | ||
73 | |||
74 | GNUNET_CONTAINER_multihashmap_put(addresses, &addr[0].peer.hashPubKey, &addr[0], GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); | ||
75 | 73 | ||
76 | mlp = GAS_mlp_init (cfg, NULL, MLP_MAX_EXEC_DURATION, MLP_MAX_ITERATIONS); | 74 | mlp = GAS_mlp_init (cfg, NULL, MLP_MAX_EXEC_DURATION, MLP_MAX_ITERATIONS); |
75 | mlp->auto_solve = GNUNET_NO; | ||
77 | 76 | ||
78 | /* Add a new address */ | ||
79 | #if 0 | ||
80 | GAS_mlp_address_update (mlp, addresses, &addr[0]); | ||
81 | |||
82 | GNUNET_assert (mlp != NULL); | ||
83 | GNUNET_assert (mlp->addr_in_problem == 1); | ||
84 | 77 | ||
85 | /* Update an new address */ | ||
86 | GAS_mlp_address_update (mlp, addresses, &addr[0]); | ||
87 | GNUNET_assert (mlp->addr_in_problem == 1); | ||
88 | 78 | ||
89 | /* Add a second address for same peer */ | ||
90 | GNUNET_CONTAINER_multihashmap_put(addresses, &addr[0].peer.hashPubKey, &addr[1], GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); | ||
91 | GAS_mlp_address_update (mlp, addresses, &addr[1]); | ||
92 | GNUNET_assert (mlp->addr_in_problem == 2); | ||
93 | |||
94 | /* Delete an address */ | ||
95 | GNUNET_CONTAINER_multihashmap_remove (addresses, &addr[0].peer.hashPubKey, &addr[0]); | ||
96 | GAS_mlp_address_delete (mlp, addresses, &addr[0]); | ||
97 | GAS_mlp_address_delete (mlp, addresses, &addr[1]); | ||
98 | #endif | ||
99 | GAS_mlp_done (mlp); | 79 | GAS_mlp_done (mlp); |
100 | 80 | ||
101 | GNUNET_free (addr[0].plugin); | ||
102 | GNUNET_free (addr[1].plugin); | ||
103 | GNUNET_CONTAINER_multihashmap_destroy (addresses); | ||
104 | GNUNET_STATISTICS_destroy(stats, GNUNET_NO); | ||
105 | |||
106 | ret = 0; | 81 | ret = 0; |
107 | return; | 82 | return; |
108 | } | 83 | } |
@@ -124,6 +99,12 @@ main (int argc, char *argv[]) | |||
124 | }; | 99 | }; |
125 | 100 | ||
126 | static struct GNUNET_GETOPT_CommandLineOption options[] = { | 101 | static struct GNUNET_GETOPT_CommandLineOption options[] = { |
102 | {'a', "addresses", NULL, | ||
103 | gettext_noop ("addresses per peer"), 1, | ||
104 | &GNUNET_GETOPT_set_uint, &addresses}, | ||
105 | {'p', "peers", NULL, | ||
106 | gettext_noop ("peers"), 1, | ||
107 | &GNUNET_GETOPT_set_uint, &peers}, | ||
127 | GNUNET_GETOPT_OPTION_END | 108 | GNUNET_GETOPT_OPTION_END |
128 | }; | 109 | }; |
129 | 110 | ||