



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 ();

	}



