public static bool PublicationMatchValid(DDS.IDataWriter writer, int totalCount, int
             totalCountChange)
        {
            bool result = false;
			DDS.PublicationMatchedStatus holder = null;
            DDS.ReturnCode rc = writer.GetPublicationMatchedStatus(ref holder);
            if (rc == DDS.ReturnCode.Ok)
            {
                DDS.PublicationMatchedStatus status = holder;
                if (status.TotalCount == totalCount)
                {
                    if (status.TotalCountChange == totalCountChange)
                    {
                        result = true;
                    }
                    else
                    {
                        System.Console.Error.WriteLine("publication_matched.TotalCountChange != '" + totalCountChange
                             + "', but '" + status.TotalCountChange + "'.");
                    }
                }
                else
                {
                    System.Console.Error.WriteLine("publication_matched.TotalCount != '" + totalCount
                         + "', but '" + status.TotalCount + "'.");
                }
            }
            else
            {
                System.Console.Error.WriteLine("get_publication_matched_status returned " + rc);
            }
            return result;
        }
Exemple #2
0
        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);
        }