48 lines
901 B
Text
48 lines
901 B
Text
|
|
|
|
movecmd_t movecmd;
|
|
|
|
|
|
input from
|
|
|
|
packet sender
|
|
wake up on alarms or input signal
|
|
if on input signal, set skipnextalrm
|
|
else
|
|
if skipnextalarm
|
|
skipnextalarm = false;
|
|
continue;
|
|
lock packet
|
|
get current movecmd
|
|
send message
|
|
unlock packet
|
|
|
|
packet receiver
|
|
wake up only on packet arrival
|
|
identify the packet source
|
|
calculate exact latency
|
|
save the packet off
|
|
|
|
|
|
|
|
|
|
// cause timer messages to be issued
|
|
SetTimer (mainwindow, 1, 50, NULL);
|
|
|
|
// cause packet received messages to be issued
|
|
WSAAsyncSelect ( net_socket, mainwindow, WM_USER, FD_READ );
|
|
|
|
if (!GetMessage (&msg, NULL, 0, 0))
|
|
{
|
|
TranslateMessage (&msg);
|
|
DispatchMessage (&msg);
|
|
while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
|
|
{
|
|
if (!GetMessage (&msg, NULL, 0, 0))
|
|
break;
|
|
TranslateMessage (&msg);
|
|
DispatchMessage (&msg);
|
|
}
|
|
PrepareToBlock ();
|
|
}
|
|
|