1
2
3movecmd_t	movecmd;
4
5
6input from 
7
8packet sender
9	wake up on alarms or input signal
10	if on input signal, set skipnextalrm
11	else
12		if skipnextalarm
13			skipnextalarm = false;
14			continue;
15	lock packet
16	get current movecmd
17	send message
18	unlock packet
19
20packet receiver
21	wake up only on packet arrival
22	identify the packet source
23	calculate exact latency
24	save the packet off
25
26
27
28
29	// cause timer messages to be issued
30	SetTimer (mainwindow, 1, 50, NULL);
31
32	// cause packet received messages to be issued
33	WSAAsyncSelect ( net_socket, mainwindow, WM_USER, FD_READ );	
34
35	if (!GetMessage (&msg, NULL, 0, 0))
36	{
37		TranslateMessage (&msg);
38		DispatchMessage (&msg);
39		while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
40		{
41			if (!GetMessage (&msg, NULL, 0, 0))
42				break;
43			TranslateMessage (&msg);
44   			DispatchMessage (&msg);
45		}
46		PrepareToBlock ();
47	}
48
49