public void OnPacketTimerTick(object source, EventArgs e)
{
int i;
for (i = 0; i < ElapsedTime.Length; i++)
{
if (DataPending[i])
{
ElapsedTime[i] += PacketTimer.Interval;
if (ElapsedTime[i] >= MaxDelay[i])
{
// Set DataPending flag to false, reset elapsed time.
DataPending[i] = false;
ElapsedTime[i] = 0;
// Trigger a COMFailed event
PacketTimeoutEvent((StateName)i, 0);
}
}
}
}