public bool GetAlarmSummaryOrEventRequest(BacnetAddress adr, bool GetEvent, ref IList<BacnetGetEventInformationData> Alarms, byte invoke_id = 0)
{
using (BacnetAsyncResult result = (BacnetAsyncResult)BeginGetAlarmSummaryOrEventRequest(adr, GetEvent, Alarms, true, invoke_id))
{
for (int r = 0; r < m_retries; r++)
{
if (result.WaitForDone(m_timeout))
{
Exception ex;
bool MoreEvent;
EndGetAlarmSummaryOrEventRequest(result, GetEvent, ref Alarms, out MoreEvent, out ex);
if (ex != null) return false;
else
{
if (MoreEvent == true) // never true if GetAlarmSummary is used
return GetAlarmSummaryOrEventRequest(adr, GetEvent, ref Alarms);
return true;
};
}
if (r < (m_retries - 1))
result.Resend();
}
}
return false;
}