aboutsummaryrefslogtreecommitdiff
path: root/src/peerstore/gnunet-peerstore.c
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-05-07 18:11:18 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-05-07 18:11:18 +0000
commitd6dd23d50411a11226a8dcd88e51aa0a332e499d (patch)
treeb40988bcf0a7a5d3f7f745d78c2a687850d2cf5d /src/peerstore/gnunet-peerstore.c
parent603d264417198385513b09844ddf4557dcc44952 (diff)
downloadgnunet-d6dd23d50411a11226a8dcd88e51aa0a332e499d.tar.gz
gnunet-d6dd23d50411a11226a8dcd88e51aa0a332e499d.zip
PEERSTORE api update
Diffstat (limited to 'src/peerstore/gnunet-peerstore.c')
-rw-r--r--src/peerstore/gnunet-peerstore.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/peerstore/gnunet-peerstore.c b/src/peerstore/gnunet-peerstore.c
index 21b480204..750cc5636 100644
--- a/src/peerstore/gnunet-peerstore.c
+++ b/src/peerstore/gnunet-peerstore.c
@@ -30,6 +30,16 @@
30static int ret; 30static int ret;
31 31
32/** 32/**
33 * option '-t'
34 */
35static int test;
36
37/*
38 * Handle to PEERSTORE service
39 */
40struct GNUNET_PEERSTORE_Handle *peerstore_handle;
41
42/**
33 * Run on shutdown 43 * Run on shutdown
34 * 44 *
35 * @param cls unused 45 * @param cls unused
@@ -39,6 +49,20 @@ static void
39shutdown_task (void *cls, 49shutdown_task (void *cls,
40 const struct GNUNET_SCHEDULER_TaskContext *tc) 50 const struct GNUNET_SCHEDULER_TaskContext *tc)
41{ 51{
52 if(NULL != peerstore_handle)
53 {
54 GNUNET_PEERSTORE_disconnect(peerstore_handle);
55 peerstore_handle = NULL;
56 }
57}
58
59void test_cont(void *cls, const char *emsg)
60{
61 printf("Received a response\n");
62 if(NULL != emsg)
63 {
64 printf("Response: %s\n", emsg);
65 }
42} 66}
43 67
44/** 68/**
@@ -56,9 +80,25 @@ run (void *cls,
56 const struct GNUNET_CONFIGURATION_Handle *cfg) 80 const struct GNUNET_CONFIGURATION_Handle *cfg)
57{ 81{
58 82
83 peerstore_handle = NULL;
59 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, 84 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
60 &shutdown_task, 85 &shutdown_task,
61 NULL); 86 NULL);
87 peerstore_handle = GNUNET_PEERSTORE_connect(cfg);
88 GNUNET_assert(NULL != peerstore_handle);
89 if(GNUNET_YES == test)
90 {
91 struct GNUNET_PeerIdentity pid;
92 memset (&pid, 32, sizeof (pid));
93 GNUNET_PEERSTORE_store(peerstore_handle,
94 &pid,
95 "subsub",
96 "value",
97 5,
98 GNUNET_TIME_UNIT_FOREVER_REL,
99 &test_cont,
100 NULL);
101 }
62 102
63 ret = 0; 103 ret = 0;
64} 104}
@@ -74,6 +114,9 @@ int
74main (int argc, char *const *argv) 114main (int argc, char *const *argv)
75{ 115{
76 static const struct GNUNET_GETOPT_CommandLineOption options[] = { 116 static const struct GNUNET_GETOPT_CommandLineOption options[] = {
117 {'t', "test", NULL,
118 gettext_noop("TESTING"),
119 0, &GNUNET_GETOPT_set_one, &test},
77 GNUNET_GETOPT_OPTION_END 120 GNUNET_GETOPT_OPTION_END
78 }; 121 };
79 return (GNUNET_OK == 122 return (GNUNET_OK ==