summaryrefslogtreecommitdiff
path: root/src/transport/test_transport_api_monitor_peers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/test_transport_api_monitor_peers.c')
-rw-r--r--src/transport/test_transport_api_monitor_peers.c191
1 files changed, 96 insertions, 95 deletions
diff --git a/src/transport/test_transport_api_monitor_peers.c b/src/transport/test_transport_api_monitor_peers.c
index a76ebe5ee..4e12d0bad 100644
--- a/src/transport/test_transport_api_monitor_peers.c
+++ b/src/transport/test_transport_api_monitor_peers.c
@@ -28,12 +28,13 @@
28/** 28/**
29 * How long until we give up on transmitting the message? 29 * How long until we give up on transmitting the message?
30 */ 30 */
31#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 120) 31#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 120)
32 32
33/** 33/**
34 * How long until we give up on transmitting the message? 34 * How long until we give up on transmitting the message?
35 */ 35 */
36#define TIMEOUT_TRANSMIT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 30) 36#define TIMEOUT_TRANSMIT GNUNET_TIME_relative_multiply ( \
37 GNUNET_TIME_UNIT_SECONDS, 30)
37 38
38#define TEST_MESSAGE_SIZE 2600 39#define TEST_MESSAGE_SIZE 2600
39 40
@@ -55,151 +56,151 @@ static int p2_c_notify;
55 56
56 57
57static void 58static void
58custom_shutdown(void *cls) 59custom_shutdown (void *cls)
59{ 60{
60 if (NULL != pmc_p1) 61 if (NULL != pmc_p1)
61 { 62 {
62 GNUNET_TRANSPORT_monitor_peers_cancel(pmc_p1); 63 GNUNET_TRANSPORT_monitor_peers_cancel (pmc_p1);
63 pmc_p1 = NULL; 64 pmc_p1 = NULL;
64 } 65 }
65 if (NULL != pmc_p2) 66 if (NULL != pmc_p2)
66 { 67 {
67 GNUNET_TRANSPORT_monitor_peers_cancel(pmc_p2); 68 GNUNET_TRANSPORT_monitor_peers_cancel (pmc_p2);
68 pmc_p2 = NULL; 69 pmc_p2 = NULL;
69 } 70 }
70} 71}
71 72
72 73
73static void 74static void
74notify_receive(void *cls, 75notify_receive (void *cls,
75 struct GNUNET_TRANSPORT_TESTING_PeerContext *receiver, 76 struct GNUNET_TRANSPORT_TESTING_PeerContext *receiver,
76 const struct GNUNET_PeerIdentity *sender, 77 const struct GNUNET_PeerIdentity *sender,
77 const struct GNUNET_TRANSPORT_TESTING_TestMessage *message) 78 const struct GNUNET_TRANSPORT_TESTING_TestMessage *message)
78{ 79{
79 char *ps = GNUNET_strdup(GNUNET_i2s(&receiver->id)); 80 char *ps = GNUNET_strdup (GNUNET_i2s (&receiver->id));
80 81
81 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, 82 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
82 "Peer %u (`%s') received message of type %d and size %u size from peer %s!\n", 83 "Peer %u (`%s') received message of type %d and size %u size from peer %s!\n",
83 receiver->no, 84 receiver->no,
84 ps, 85 ps,
85 ntohs(message->header.type), 86 ntohs (message->header.type),
86 ntohs(message->header.size), 87 ntohs (message->header.size),
87 GNUNET_i2s(sender)); 88 GNUNET_i2s (sender));
88 GNUNET_free(ps); 89 GNUNET_free (ps);
89} 90}
90 91
91 92
92static void 93static void
93sendtask(void *cls) 94sendtask (void *cls)
94{ 95{
95 /* intentionally empty */ 96 /* intentionally empty */
96} 97}
97 98
98 99
99static void 100static void
100check_done() 101check_done ()
101{ 102{
102 if ((GNUNET_YES == p1_c) && 103 if ((GNUNET_YES == p1_c) &&
103 (GNUNET_YES == p2_c) && 104 (GNUNET_YES == p2_c) &&
104 p1_c_notify && 105 p1_c_notify &&
105 p2_c_notify) 106 p2_c_notify)
106 { 107 {
107 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 108 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
108 "Both peers state to be connected\n"); 109 "Both peers state to be connected\n");
109 ccc->global_ret = GNUNET_OK; 110 ccc->global_ret = GNUNET_OK;
110 GNUNET_SCHEDULER_shutdown(); 111 GNUNET_SCHEDULER_shutdown ();
111 } 112 }
112} 113}
113 114
114 115
115static void 116static void
116notify_connect(void *cls, 117notify_connect (void *cls,
117 struct GNUNET_TRANSPORT_TESTING_PeerContext *me, 118 struct GNUNET_TRANSPORT_TESTING_PeerContext *me,
118 const struct GNUNET_PeerIdentity *other) 119 const struct GNUNET_PeerIdentity *other)
119{ 120{
120 GNUNET_TRANSPORT_TESTING_log_connect(cls, 121 GNUNET_TRANSPORT_TESTING_log_connect (cls,
121 me, 122 me,
122 other); 123 other);
123 if (0 == memcmp(other, &ccc->p[0]->id, sizeof(struct GNUNET_PeerIdentity))) 124 if (0 == memcmp (other, &ccc->p[0]->id, sizeof(struct GNUNET_PeerIdentity)))
124 { 125 {
125 p1_c_notify = GNUNET_YES; 126 p1_c_notify = GNUNET_YES;
126 } 127 }
127 if (0 == memcmp(other, &ccc->p[1]->id, sizeof(struct GNUNET_PeerIdentity))) 128 if (0 == memcmp (other, &ccc->p[1]->id, sizeof(struct GNUNET_PeerIdentity)))
128 { 129 {
129 p2_c_notify = GNUNET_YES; 130 p2_c_notify = GNUNET_YES;
130 } 131 }
131 check_done(); 132 check_done ();
132} 133}
133 134
134 135
135static void 136static void
136monitor1_cb(void *cls, 137monitor1_cb (void *cls,
137 const struct GNUNET_PeerIdentity *peer, 138 const struct GNUNET_PeerIdentity *peer,
138 const struct GNUNET_HELLO_Address *address, 139 const struct GNUNET_HELLO_Address *address,
139 enum GNUNET_TRANSPORT_PeerState state, 140 enum GNUNET_TRANSPORT_PeerState state,
140 struct GNUNET_TIME_Absolute state_timeout) 141 struct GNUNET_TIME_Absolute state_timeout)
141{ 142{
142 if ((NULL == address) || (NULL == ccc->p[0])) 143 if ((NULL == address) || (NULL == ccc->p[0]))
143 return; 144 return;
144 145
145 GNUNET_log(GNUNET_ERROR_TYPE_INFO, 146 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
146 "Monitor 1: %s %s %s\n", 147 "Monitor 1: %s %s %s\n",
147 GNUNET_i2s(&address->peer), 148 GNUNET_i2s (&address->peer),
148 GNUNET_TRANSPORT_ps2s(state), 149 GNUNET_TRANSPORT_ps2s (state),
149 GNUNET_STRINGS_absolute_time_to_string(state_timeout)); 150 GNUNET_STRINGS_absolute_time_to_string (state_timeout));
150 if ((0 == memcmp(&address->peer, &ccc->p[1]->id, sizeof(ccc->p[1]->id))) && 151 if ((0 == memcmp (&address->peer, &ccc->p[1]->id, sizeof(ccc->p[1]->id))) &&
151 (GNUNET_YES == GNUNET_TRANSPORT_is_connected(state)) && 152 (GNUNET_YES == GNUNET_TRANSPORT_is_connected (state)) &&
152 (GNUNET_NO == p1_c)) 153 (GNUNET_NO == p1_c))
153 { 154 {
154 p1_c = GNUNET_YES; 155 p1_c = GNUNET_YES;
155 check_done(); 156 check_done ();
156 } 157 }
157} 158}
158 159
159 160
160static void 161static void
161monitor2_cb(void *cls, 162monitor2_cb (void *cls,
162 const struct GNUNET_PeerIdentity *peer, 163 const struct GNUNET_PeerIdentity *peer,
163 const struct GNUNET_HELLO_Address *address, 164 const struct GNUNET_HELLO_Address *address,
164 enum GNUNET_TRANSPORT_PeerState state, 165 enum GNUNET_TRANSPORT_PeerState state,
165 struct GNUNET_TIME_Absolute state_timeout) 166 struct GNUNET_TIME_Absolute state_timeout)
166{ 167{
167 if ((NULL == address) || (NULL == ccc->p[1])) 168 if ((NULL == address) || (NULL == ccc->p[1]))
168 return; 169 return;
169 170
170 GNUNET_log(GNUNET_ERROR_TYPE_INFO, 171 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
171 "Monitor 2: %s %s %s\n", 172 "Monitor 2: %s %s %s\n",
172 GNUNET_i2s(&address->peer), 173 GNUNET_i2s (&address->peer),
173 GNUNET_TRANSPORT_ps2s(state), 174 GNUNET_TRANSPORT_ps2s (state),
174 GNUNET_STRINGS_absolute_time_to_string(state_timeout)); 175 GNUNET_STRINGS_absolute_time_to_string (state_timeout));
175 if ((0 == memcmp(&address->peer, &ccc->p[0]->id, sizeof(ccc->p[0]->id))) && 176 if ((0 == memcmp (&address->peer, &ccc->p[0]->id, sizeof(ccc->p[0]->id))) &&
176 (GNUNET_YES == GNUNET_TRANSPORT_is_connected(state)) && 177 (GNUNET_YES == GNUNET_TRANSPORT_is_connected (state)) &&
177 (GNUNET_NO == p2_c)) 178 (GNUNET_NO == p2_c))
178 { 179 {
179 p2_c = GNUNET_YES; 180 p2_c = GNUNET_YES;
180 check_done(); 181 check_done ();
181 } 182 }
182} 183}
183 184
184 185
185static void 186static void
186start_monitors(void *cls) 187start_monitors (void *cls)
187{ 188{
188 pmc_p1 = GNUNET_TRANSPORT_monitor_peers(ccc->p[0]->cfg, 189 pmc_p1 = GNUNET_TRANSPORT_monitor_peers (ccc->p[0]->cfg,
189 NULL, 190 NULL,
190 GNUNET_NO, 191 GNUNET_NO,
191 &monitor1_cb, 192 &monitor1_cb,
192 NULL); 193 NULL);
193 pmc_p2 = GNUNET_TRANSPORT_monitor_peers(ccc->p[1]->cfg, 194 pmc_p2 = GNUNET_TRANSPORT_monitor_peers (ccc->p[1]->cfg,
194 NULL, 195 NULL,
195 GNUNET_NO, 196 GNUNET_NO,
196 &monitor2_cb, 197 &monitor2_cb,
197 NULL); 198 NULL);
198} 199}
199 200
200 201
201int 202int
202main(int argc, char *argv[]) 203main (int argc, char *argv[])
203{ 204{
204 struct GNUNET_TRANSPORT_TESTING_ConnectCheckContext my_ccc = { 205 struct GNUNET_TRANSPORT_TESTING_ConnectCheckContext my_ccc = {
205 .pre_connect_task = &start_monitors, 206 .pre_connect_task = &start_monitors,
@@ -214,9 +215,9 @@ main(int argc, char *argv[])
214 215
215 ccc = &my_ccc; 216 ccc = &my_ccc;
216 if (GNUNET_OK != 217 if (GNUNET_OK !=
217 GNUNET_TRANSPORT_TESTING_main(2, 218 GNUNET_TRANSPORT_TESTING_main (2,
218 &GNUNET_TRANSPORT_TESTING_connect_check, 219 &GNUNET_TRANSPORT_TESTING_connect_check,
219 ccc)) 220 ccc))
220 return 1; 221 return 1;
221 return 0; 222 return 0;
222} 223}