diff options
Diffstat (limited to 'src/peerstore/perf_peerstore_store.c')
-rw-r--r-- | src/peerstore/perf_peerstore_store.c | 76 |
1 files changed, 33 insertions, 43 deletions
diff --git a/src/peerstore/perf_peerstore_store.c b/src/peerstore/perf_peerstore_store.c index bdf70272c..e97699fe2 100644 --- a/src/peerstore/perf_peerstore_store.c +++ b/src/peerstore/perf_peerstore_store.c | |||
@@ -40,78 +40,68 @@ static char *v = "test_peerstore_stress_val"; | |||
40 | int count = 0; | 40 | int count = 0; |
41 | 41 | ||
42 | void | 42 | void |
43 | disconnect() | 43 | disconnect () |
44 | { | 44 | { |
45 | if(NULL != h) | 45 | if (NULL != h) |
46 | GNUNET_PEERSTORE_disconnect(h, GNUNET_YES); | 46 | GNUNET_PEERSTORE_disconnect (h, GNUNET_YES); |
47 | GNUNET_SCHEDULER_shutdown(); | 47 | GNUNET_SCHEDULER_shutdown (); |
48 | } | 48 | } |
49 | 49 | ||
50 | |||
50 | void | 51 | void |
51 | store() | 52 | store () |
52 | { | 53 | { |
53 | GNUNET_PEERSTORE_store(h, | 54 | GNUNET_PEERSTORE_store (h, ss, &p, k, v, strlen (v) + 1, |
54 | ss, | 55 | GNUNET_TIME_UNIT_FOREVER_ABS, |
55 | &p, | 56 | (count == |
56 | k, | 57 | 0) ? GNUNET_PEERSTORE_STOREOPTION_REPLACE : |
57 | v, | 58 | GNUNET_PEERSTORE_STOREOPTION_MULTIPLE, NULL, NULL); |
58 | strlen(v) + 1, | ||
59 | GNUNET_TIME_UNIT_FOREVER_ABS, | ||
60 | (count == 0) ? GNUNET_PEERSTORE_STOREOPTION_REPLACE : GNUNET_PEERSTORE_STOREOPTION_MULTIPLE, | ||
61 | NULL, | ||
62 | NULL); | ||
63 | count++; | 59 | count++; |
64 | } | 60 | } |
65 | 61 | ||
62 | |||
66 | static int | 63 | static int |
67 | watch_cb(void *cls, | 64 | watch_cb (void *cls, struct GNUNET_PEERSTORE_Record *record, char *emsg) |
68 | struct GNUNET_PEERSTORE_Record *record, | ||
69 | char *emsg) | ||
70 | { | 65 | { |
71 | GNUNET_assert(NULL == emsg); | 66 | GNUNET_assert (NULL == emsg); |
72 | if(STORES == count) | 67 | if (STORES == count) |
73 | { | 68 | { |
74 | ok = 0; | 69 | ok = 0; |
75 | disconnect(); | 70 | disconnect (); |
76 | } | 71 | } |
77 | else | 72 | else |
78 | store(); | 73 | store (); |
79 | return GNUNET_YES; | 74 | return GNUNET_YES; |
80 | } | 75 | } |
81 | 76 | ||
77 | |||
82 | static void | 78 | static void |
83 | run (void *cls, | 79 | run (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg, |
84 | const struct GNUNET_CONFIGURATION_Handle *cfg, | 80 | struct GNUNET_TESTING_Peer *peer) |
85 | struct GNUNET_TESTING_Peer *peer) | ||
86 | { | 81 | { |
87 | memset (&p, 5, sizeof (p)); | 82 | memset (&p, 5, sizeof (p)); |
88 | h = GNUNET_PEERSTORE_connect(cfg); | 83 | h = GNUNET_PEERSTORE_connect (cfg); |
89 | GNUNET_assert(NULL != h); | 84 | GNUNET_assert (NULL != h); |
90 | GNUNET_PEERSTORE_watch(h, | 85 | GNUNET_PEERSTORE_watch (h, ss, &p, k, &watch_cb, NULL); |
91 | ss, | 86 | store (); |
92 | &p, | ||
93 | k, | ||
94 | &watch_cb, | ||
95 | NULL); | ||
96 | store(); | ||
97 | } | 87 | } |
98 | 88 | ||
89 | |||
99 | int | 90 | int |
100 | main (int argc, char *argv[]) | 91 | main (int argc, char *argv[]) |
101 | { | 92 | { |
102 | struct GNUNET_TIME_Absolute start; | 93 | struct GNUNET_TIME_Absolute start; |
103 | struct GNUNET_TIME_Relative diff; | 94 | struct GNUNET_TIME_Relative diff; |
104 | 95 | ||
105 | start = GNUNET_TIME_absolute_get(); | 96 | start = GNUNET_TIME_absolute_get (); |
106 | if (0 != GNUNET_TESTING_service_run ("perf-peerstore-store", | 97 | if (0 != |
107 | "peerstore", | 98 | GNUNET_TESTING_service_run ("perf-peerstore-store", "peerstore", |
108 | "test_peerstore_api_data.conf", | 99 | "test_peerstore_api_data.conf", &run, NULL)) |
109 | &run, NULL)) | ||
110 | return 1; | 100 | return 1; |
111 | diff = GNUNET_TIME_absolute_get_duration(start); | 101 | diff = GNUNET_TIME_absolute_get_duration (start); |
112 | fprintf(stderr, "Stored and retrieved %d records in %s (%s).\n", | 102 | fprintf (stderr, "Stored and retrieved %d records in %s (%s).\n", STORES, |
113 | STORES, GNUNET_STRINGS_relative_time_to_string(diff, GNUNET_YES), | 103 | GNUNET_STRINGS_relative_time_to_string (diff, GNUNET_YES), |
114 | GNUNET_STRINGS_relative_time_to_string(diff, GNUNET_NO)); | 104 | GNUNET_STRINGS_relative_time_to_string (diff, GNUNET_NO)); |
115 | return ok; | 105 | return ok; |
116 | } | 106 | } |
117 | 107 | ||