MCPcopy Create free account
hub / github.com/OAID/Tengine / echo_thread

Function echo_thread

internal/tests/core/test/test_notify.cpp:153–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

151}
152
153void echo_thread(int count, NotifyBus* bus, int my_event, int peer_event)
154{
155 int i = 0;
156
157 EventHandle handle;
158 SyncData sync_data;
159
160 sync_data.sync.lock();
161
162 handle.func = handle_event;
163 handle.argument = &sync_data;
164
165 bus->Book(my_event, handle);
166
167 EventData data;
168
169 data.event = peer_event;
170
171 if(my_event == 0)
172 {
173 // make sure other threads have initialized already
174 sleep(1);
175 data.data = -1;
176 bus->Send(peer_event, &data);
177 }
178
179 std::cout << "My event: " << my_event << "\n";
180
181 while(true)
182 {
183 sync_data.sync.lock();
184
185 std::cout << "send event to: " << peer_event << " # " << i << "\n";
186
187 data.data = i;
188
189 bus->Send(peer_event, &data);
190
191 if(i++ == count)
192 break;
193 }
194
195 std::cout << "Total received: " << count << " events\n";
196}
197
198void test_threads(void)
199{

Callers

nothing calls this directly

Calls 2

BookMethod · 0.80
SendMethod · 0.80

Tested by

no test coverage detected