aboutsummaryrefslogtreecommitdiff
path: root/src/transport/test_transport_api_manipulation_send_tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/test_transport_api_manipulation_send_tcp.c')
-rw-r--r--src/transport/test_transport_api_manipulation_send_tcp.c169
1 files changed, 85 insertions, 84 deletions
diff --git a/src/transport/test_transport_api_manipulation_send_tcp.c b/src/transport/test_transport_api_manipulation_send_tcp.c
index ea4c7621b..28516bcae 100644
--- a/src/transport/test_transport_api_manipulation_send_tcp.c
+++ b/src/transport/test_transport_api_manipulation_send_tcp.c
@@ -34,7 +34,7 @@
34/** 34/**
35 * How long until we give up on transmitting the message? 35 * How long until we give up on transmitting the message?
36 */ 36 */
37#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 30) 37#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30)
38 38
39static struct GNUNET_TRANSPORT_TESTING_ConnectCheckContext *ccc; 39static struct GNUNET_TRANSPORT_TESTING_ConnectCheckContext *ccc;
40 40
@@ -50,130 +50,131 @@ static struct GNUNET_TIME_Relative dur_delayed;
50 50
51 51
52static void 52static void
53do_free(void *cls) 53do_free (void *cls)
54{ 54{
55 struct GNUNET_TRANSPORT_TESTING_SendClosure *sc = cls; 55 struct GNUNET_TRANSPORT_TESTING_SendClosure *sc = cls;
56 56
57 GNUNET_free(sc); 57 GNUNET_free (sc);
58} 58}
59 59
60 60
61static void 61static void
62delayed_transmit(void *cls) 62delayed_transmit (void *cls)
63{ 63{
64 struct GNUNET_TRANSPORT_TESTING_SendClosure *sc = cls; 64 struct GNUNET_TRANSPORT_TESTING_SendClosure *sc = cls;
65 65
66 start_delayed = GNUNET_TIME_absolute_get(); 66 start_delayed = GNUNET_TIME_absolute_get ();
67 GNUNET_TRANSPORT_TESTING_large_send(sc); 67 GNUNET_TRANSPORT_TESTING_large_send (sc);
68} 68}
69 69
70 70
71static void 71static void
72sendtask(void *cls) 72sendtask (void *cls)
73{ 73{
74 struct GNUNET_TRANSPORT_TESTING_SendClosure *sc; 74 struct GNUNET_TRANSPORT_TESTING_SendClosure *sc;
75 struct GNUNET_TIME_Relative delay; 75 struct GNUNET_TIME_Relative delay;
76 struct GNUNET_ATS_Properties prop; 76 struct GNUNET_ATS_Properties prop;
77 77
78 sc = GNUNET_new(struct GNUNET_TRANSPORT_TESTING_SendClosure); 78 sc = GNUNET_new (struct GNUNET_TRANSPORT_TESTING_SendClosure);
79 sc->num_messages = 1; 79 sc->num_messages = 1;
80 sc->ccc = ccc; 80 sc->ccc = ccc;
81 sc->cont = &do_free; 81 sc->cont = &do_free;
82 sc->cont_cls = sc; 82 sc->cont_cls = sc;
83 if (0 == messages_recv) 83 if (0 == messages_recv)
84 { 84 {
85 start_normal = GNUNET_TIME_absolute_get(); 85 start_normal = GNUNET_TIME_absolute_get ();
86 } 86 }
87 if (1 == messages_recv) 87 if (1 == messages_recv)
88 { 88 {
89 memset(&prop, 89 memset (&prop,
90 0, 90 0,
91 sizeof(prop)); 91 sizeof(prop));
92 delay = GNUNET_TIME_UNIT_SECONDS; 92 delay = GNUNET_TIME_UNIT_SECONDS;
93 GNUNET_TRANSPORT_manipulation_set(ccc->p[0]->tmh, 93 GNUNET_TRANSPORT_manipulation_set (ccc->p[0]->tmh,
94 &ccc->p[1]->id, 94 &ccc->p[1]->id,
95 &prop, 95 &prop,
96 GNUNET_TIME_UNIT_ZERO, 96 GNUNET_TIME_UNIT_ZERO,
97 delay); 97 delay);
98 /* wait 1s to allow manipulation to go into effect */ 98 /* wait 1s to allow manipulation to go into effect */
99 GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_SECONDS, 99 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
100 &delayed_transmit, 100 &delayed_transmit,
101 sc); 101 sc);
102 return; 102 return;
103 } 103 }
104 GNUNET_TRANSPORT_TESTING_large_send(sc); 104 GNUNET_TRANSPORT_TESTING_large_send (sc);
105} 105}
106 106
107 107
108static void 108static void
109notify_receive(void *cls, 109notify_receive (void *cls,
110 struct GNUNET_TRANSPORT_TESTING_PeerContext *receiver, 110 struct GNUNET_TRANSPORT_TESTING_PeerContext *receiver,
111 const struct GNUNET_PeerIdentity *sender, 111 const struct GNUNET_PeerIdentity *sender,
112 const struct GNUNET_TRANSPORT_TESTING_TestMessage *message) 112 const struct GNUNET_TRANSPORT_TESTING_TestMessage *message)
113{ 113{
114 { 114 {
115 char *ps = GNUNET_strdup(GNUNET_i2s(&receiver->id)); 115 char *ps = GNUNET_strdup (GNUNET_i2s (&receiver->id));
116 116
117 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 117 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
118 "Peer %u (`%s') received message of type %d and size %u size from peer %s)!\n", 118 "Peer %u (`%s') received message of type %d and size %u size from peer %s)!\n",
119 receiver->no, 119 receiver->no,
120 ps, 120 ps,
121 ntohs(message->header.type), 121 ntohs (message->header.type),
122 ntohs(message->header.size), 122 ntohs (message->header.size),
123 GNUNET_i2s(sender)); 123 GNUNET_i2s (sender));
124 GNUNET_free(ps); 124 GNUNET_free (ps);
125 } 125 }
126 126
127 if ((GNUNET_TRANSPORT_TESTING_SIMPLE_MTYPE != ntohs(message->header.type)) || 127 if ((GNUNET_TRANSPORT_TESTING_SIMPLE_MTYPE != ntohs (message->header.type)) ||
128 (GNUNET_TRANSPORT_TESTING_LARGE_MESSAGE_SIZE != ntohs(message->header.size))) 128 (GNUNET_TRANSPORT_TESTING_LARGE_MESSAGE_SIZE != ntohs (
129 { 129 message->header.size)))
130 GNUNET_break(0); 130 {
131 ccc->global_ret = GNUNET_SYSERR; 131 GNUNET_break (0);
132 GNUNET_SCHEDULER_shutdown(); 132 ccc->global_ret = GNUNET_SYSERR;
133 return; 133 GNUNET_SCHEDULER_shutdown ();
134 } 134 return;
135 }
135 136
136 if (0 == messages_recv) 137 if (0 == messages_recv)
137 { 138 {
138 /* Received non-delayed message */ 139 /* Received non-delayed message */
139 dur_normal = GNUNET_TIME_absolute_get_duration(start_normal); 140 dur_normal = GNUNET_TIME_absolute_get_duration (start_normal);
140 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 141 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
141 "Received non-delayed message %u after %s\n", 142 "Received non-delayed message %u after %s\n",
142 messages_recv, 143 messages_recv,
143 GNUNET_STRINGS_relative_time_to_string(dur_normal, 144 GNUNET_STRINGS_relative_time_to_string (dur_normal,
144 GNUNET_YES)); 145 GNUNET_YES));
145 GNUNET_SCHEDULER_add_now(&sendtask, 146 GNUNET_SCHEDULER_add_now (&sendtask,
146 NULL); 147 NULL);
147 messages_recv++; 148 messages_recv++;
148 return; 149 return;
149 } 150 }
150 /* Received manipulated message */ 151 /* Received manipulated message */
151 dur_delayed = GNUNET_TIME_absolute_get_duration(start_delayed); 152 dur_delayed = GNUNET_TIME_absolute_get_duration (start_delayed);
152 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 153 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
153 "Received delayed message %u after %s\n", 154 "Received delayed message %u after %s\n",
154 messages_recv, 155 messages_recv,
155 GNUNET_STRINGS_relative_time_to_string(dur_delayed, 156 GNUNET_STRINGS_relative_time_to_string (dur_delayed,
156 GNUNET_YES)); 157 GNUNET_YES));
157 if (dur_delayed.rel_value_us < GNUNET_TIME_UNIT_SECONDS.rel_value_us) 158 if (dur_delayed.rel_value_us < GNUNET_TIME_UNIT_SECONDS.rel_value_us)
158 { 159 {
159 GNUNET_break(0); 160 GNUNET_break (0);
160 ccc->global_ret = GNUNET_SYSERR; 161 ccc->global_ret = GNUNET_SYSERR;
161 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, 162 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
162 "Delayed message was not delayed correctly: took only %s\n", 163 "Delayed message was not delayed correctly: took only %s\n",
163 GNUNET_STRINGS_relative_time_to_string(dur_delayed, 164 GNUNET_STRINGS_relative_time_to_string (dur_delayed,
164 GNUNET_YES)); 165 GNUNET_YES));
165 } 166 }
166 else 167 else
167 { 168 {
168 ccc->global_ret = GNUNET_OK; 169 ccc->global_ret = GNUNET_OK;
169 } 170 }
170 GNUNET_SCHEDULER_shutdown(); 171 GNUNET_SCHEDULER_shutdown ();
171} 172}
172 173
173 174
174int 175int
175main(int argc, 176main (int argc,
176 char *argv[]) 177 char *argv[])
177{ 178{
178 struct GNUNET_TRANSPORT_TESTING_ConnectCheckContext my_ccc = { 179 struct GNUNET_TRANSPORT_TESTING_ConnectCheckContext my_ccc = {
179 .connect_continuation = &sendtask, 180 .connect_continuation = &sendtask,
@@ -187,9 +188,9 @@ main(int argc,
187 188
188 ccc = &my_ccc; 189 ccc = &my_ccc;
189 if (GNUNET_OK != 190 if (GNUNET_OK !=
190 GNUNET_TRANSPORT_TESTING_main(2, 191 GNUNET_TRANSPORT_TESTING_main (2,
191 &GNUNET_TRANSPORT_TESTING_connect_check, 192 &GNUNET_TRANSPORT_TESTING_connect_check,
192 ccc)) 193 ccc))
193 return 1; 194 return 1;
194 return 0; 195 return 0;
195} 196}