public static bool LivelinessLostValid(DDS.IDataWriter writer, int totalCount, int totalCountChange) { bool result = false; DDS.LivelinessLostStatus holder = null; DDS.ReturnCode rc = writer.GetLivelinessLostStatus(ref holder); if (rc == DDS.ReturnCode.Ok) { DDS.LivelinessLostStatus status = holder; if (status.TotalCount == totalCount) { if (status.TotalCountChange == totalCountChange) { result = true; } else { System.Console.Error.WriteLine("liveliness_lost.TotalCountChange != '" + totalCountChange + "', but '" + status.TotalCountChange + "'."); } } else { System.Console.Error.WriteLine("liveliness_lost.TotalCount != '" + totalCount + "', but '" + status.TotalCount + "'."); } } else { System.Console.Error.WriteLine("get_liveliness_lost_status returned " + rc); } return result; }
private void PrintStatusses(DDS.IDataWriter writer) { DDS.ReturnCode rc; DDS.OfferedDeadlineMissedStatus odsHolder = null; rc = writer.GetOfferedDeadlineMissedStatus(ref odsHolder); DDS.OfferedDeadlineMissedStatus ods = odsHolder; if (rc != DDS.ReturnCode.Ok) { System.Console.Error.WriteLine("Unable to resolve status!"); return; } DDS.OfferedIncompatibleQosStatus oisHolder = null; rc = writer.GetOfferedIncompatibleQosStatus(ref oisHolder); DDS.OfferedIncompatibleQosStatus ois = oisHolder; if (rc != DDS.ReturnCode.Ok) { System.Console.Error.WriteLine("Unable to resolve status!"); return; } DDS.LivelinessLostStatus llsHolder = null; rc = writer.GetLivelinessLostStatus(ref llsHolder); DDS.LivelinessLostStatus lls = llsHolder; if (rc != DDS.ReturnCode.Ok) { System.Console.Error.WriteLine("Unable to resolve status!"); return; } DDS.PublicationMatchedStatus pmsHolder = null; rc = writer.GetPublicationMatchedStatus(ref pmsHolder); DDS.PublicationMatchedStatus pms = pmsHolder; if (rc != DDS.ReturnCode.Ok) { System.Console.Error.WriteLine("Unable to resolve status!"); return; } System.Console.Out.WriteLine("offered_deadline_missed.TotalCount : " + ods.TotalCount); System.Console.Out.WriteLine("offered_deadline_missed.TotalCountChange : " + ods.TotalCountChange); System.Console.Out.WriteLine("offered_deadline_missed.LastInstanceHandle : " + ods.LastInstanceHandle); System.Console.Out.WriteLine("offered_incompatible_qos.TotalCount : " + ois.TotalCount); System.Console.Out.WriteLine("offered_incompatible_qos.TotalCountChange : " + ois.TotalCountChange); System.Console.Out.WriteLine("offered_incompatible_qos.LastPolicyId : " + ois.LastPolicyId); System.Console.Out.WriteLine("liveliness_lost.TotalCount : " + lls.TotalCount); System.Console.Out.WriteLine("liveliness_lost.TotalCountChange : " + lls.TotalCountChange); System.Console.Out.WriteLine("publication_matched.TotalCount : " + pms.TotalCount); System.Console.Out.WriteLine("publication_matched.TotalCountChange : " + pms.TotalCountChange); System.Console.Out.WriteLine("publication_matched.LastSubscriptionHandle : " + pms.LastSubscriptionHandle); }