コード例 #1
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static UnplacedReplicaInformation GetFromJsonProperties(JsonReader reader)
        {
            var serviceName            = default(ServiceName);
            var partitionId            = default(PartitionId);
            var unplacedReplicaDetails = default(IEnumerable <string>);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("ServiceName", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    serviceName = ServiceNameConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("UnplacedReplicaDetails", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    unplacedReplicaDetails = reader.ReadList(JsonReaderExtensions.ReadValueAsString);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new UnplacedReplicaInformation(
                       serviceName: serviceName,
                       partitionId: partitionId,
                       unplacedReplicaDetails: unplacedReplicaDetails));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionBackupEntity GetFromJsonProperties(JsonReader reader)
        {
            var serviceName = default(ServiceName);
            var partitionId = default(PartitionId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("ServiceName", propName, StringComparison.Ordinal) == 0)
                {
                    serviceName = ServiceNameConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionBackupEntity(
                       serviceName: serviceName,
                       partitionId: partitionId));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static StatefulServiceReplicaHealthState GetFromJsonProperties(JsonReader reader)
        {
            var aggregatedHealthState = default(HealthState?);
            var partitionId           = default(PartitionId);
            var replicaId             = default(ReplicaId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("AggregatedHealthState", propName, StringComparison.Ordinal) == 0)
                {
                    aggregatedHealthState = HealthStateConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaId", propName, StringComparison.Ordinal) == 0)
                {
                    replicaId = ReplicaIdConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new StatefulServiceReplicaHealthState(
                       aggregatedHealthState: aggregatedHealthState,
                       partitionId: partitionId,
                       replicaId: replicaId));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static NamedPartitionInformation GetFromJsonProperties(JsonReader reader)
        {
            var id   = default(PartitionId);
            var name = default(string);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("Id", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    id = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("Name", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    name = reader.ReadValueAsString();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new NamedPartitionInformation(
                       id: id,
                       name: name));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionHealthStateChunk GetFromJsonProperties(JsonReader reader)
        {
            var healthState = default(HealthState?);
            var partitionId = default(PartitionId);
            var replicaHealthStateChunks = default(ReplicaHealthStateChunkList);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("HealthState", propName, StringComparison.Ordinal) == 0)
                {
                    healthState = HealthStateConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaHealthStateChunks", propName, StringComparison.Ordinal) == 0)
                {
                    replicaHealthStateChunks = ReplicaHealthStateChunkListConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionHealthStateChunk(
                       healthState: healthState,
                       partitionId: partitionId,
                       replicaHealthStateChunks: replicaHealthStateChunks));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionSafetyCheck GetFromJsonProperties(JsonReader reader)
        {
            var kind        = default(SafetyCheckKind?);
            var partitionId = default(PartitionId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("Kind", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    kind = SafetyCheckKindConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionSafetyCheck(
                       kind: kind,
                       partitionId: partitionId));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static Int64RangePartitionInformation GetFromJsonProperties(JsonReader reader)
        {
            var id      = default(PartitionId);
            var lowKey  = default(string);
            var highKey = default(string);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("Id", propName, StringComparison.Ordinal) == 0)
                {
                    id = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("LowKey", propName, StringComparison.Ordinal) == 0)
                {
                    lowKey = reader.ReadValueAsString();
                }
                else if (string.Compare("HighKey", propName, StringComparison.Ordinal) == 0)
                {
                    highKey = reader.ReadValueAsString();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new Int64RangePartitionInformation(
                       id: id,
                       lowKey: lowKey,
                       highKey: highKey));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static UpdatePartitionLoadResult GetFromJsonProperties(JsonReader reader)
        {
            var partitionId        = default(PartitionId);
            var partitionErrorCode = default(int?);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionErrorCode", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionErrorCode = reader.ReadValueAsInt();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new UpdatePartitionLoadResult(
                       partitionId: partitionId,
                       partitionErrorCode: partitionErrorCode));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionLoadInformation GetFromJsonProperties(JsonReader reader)
        {
            var partitionId = default(PartitionId);
            var primaryLoadMetricReports   = default(IEnumerable <LoadMetricReport>);
            var secondaryLoadMetricReports = default(IEnumerable <LoadMetricReport>);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("PrimaryLoadMetricReports", propName, StringComparison.Ordinal) == 0)
                {
                    primaryLoadMetricReports = reader.ReadList(LoadMetricReportConverter.Deserialize);
                }
                else if (string.Compare("SecondaryLoadMetricReports", propName, StringComparison.Ordinal) == 0)
                {
                    secondaryLoadMetricReports = reader.ReadList(LoadMetricReportConverter.Deserialize);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionLoadInformation(
                       partitionId: partitionId,
                       primaryLoadMetricReports: primaryLoadMetricReports,
                       secondaryLoadMetricReports: secondaryLoadMetricReports));
        }
コード例 #10
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static DeployedStatelessServiceInstanceDetailInfo GetFromJsonProperties(JsonReader reader)
        {
            var serviceName                         = default(ServiceName);
            var partitionId                         = default(PartitionId);
            var currentServiceOperation             = default(ServiceOperationName?);
            var currentServiceOperationStartTimeUtc = default(DateTime?);
            var reportedLoad                        = default(IEnumerable <LoadMetricReportInfo>);
            var instanceId = default(ReplicaId);
            var deployedServiceReplicaQueryResult = default(DeployedStatelessServiceInstanceInfo);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("ServiceName", propName, StringComparison.Ordinal) == 0)
                {
                    serviceName = ServiceNameConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("CurrentServiceOperation", propName, StringComparison.Ordinal) == 0)
                {
                    currentServiceOperation = ServiceOperationNameConverter.Deserialize(reader);
                }
                else if (string.Compare("CurrentServiceOperationStartTimeUtc", propName, StringComparison.Ordinal) == 0)
                {
                    currentServiceOperationStartTimeUtc = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("ReportedLoad", propName, StringComparison.Ordinal) == 0)
                {
                    reportedLoad = reader.ReadList(LoadMetricReportInfoConverter.Deserialize);
                }
                else if (string.Compare("InstanceId", propName, StringComparison.Ordinal) == 0)
                {
                    instanceId = ReplicaIdConverter.Deserialize(reader);
                }
                else if (string.Compare("DeployedServiceReplicaQueryResult", propName, StringComparison.Ordinal) == 0)
                {
                    deployedServiceReplicaQueryResult = DeployedStatelessServiceInstanceInfoConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new DeployedStatelessServiceInstanceDetailInfo(
                       serviceName: serviceName,
                       partitionId: partitionId,
                       currentServiceOperation: currentServiceOperation,
                       currentServiceOperationStartTimeUtc: currentServiceOperationStartTimeUtc,
                       reportedLoad: reportedLoad,
                       instanceId: instanceId,
                       deployedServiceReplicaQueryResult: deployedServiceReplicaQueryResult));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionHealth GetFromJsonProperties(JsonReader reader)
        {
            var aggregatedHealthState = default(HealthState?);
            var healthEvents          = default(IEnumerable <HealthEvent>);
            var unhealthyEvaluations  = default(IEnumerable <HealthEvaluationWrapper>);
            var healthStatistics      = default(HealthStatistics);
            var partitionId           = default(PartitionId);
            var replicaHealthStates   = default(IEnumerable <ReplicaHealthState>);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("AggregatedHealthState", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    aggregatedHealthState = HealthStateConverter.Deserialize(reader);
                }
                else if (string.Compare("HealthEvents", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    healthEvents = reader.ReadList(HealthEventConverter.Deserialize);
                }
                else if (string.Compare("UnhealthyEvaluations", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    unhealthyEvaluations = reader.ReadList(HealthEvaluationWrapperConverter.Deserialize);
                }
                else if (string.Compare("HealthStatistics", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    healthStatistics = HealthStatisticsConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaHealthStates", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    replicaHealthStates = reader.ReadList(ReplicaHealthStateConverter.Deserialize);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionHealth(
                       aggregatedHealthState: aggregatedHealthState,
                       healthEvents: healthEvents,
                       unhealthyEvaluations: unhealthyEvaluations,
                       healthStatistics: healthStatistics,
                       partitionId: partitionId,
                       replicaHealthStates: replicaHealthStates));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionMetricLoadDescription GetFromJsonProperties(JsonReader reader)
        {
            var partitionId = default(PartitionId);
            var primaryReplicaLoadEntries = default(IEnumerable <MetricLoadDescription>);
            var secondaryReplicasOrInstancesLoadEntries      = default(IEnumerable <MetricLoadDescription>);
            var secondaryReplicaOrInstanceLoadEntriesPerNode = default(IEnumerable <ReplicaMetricLoadDescription>);
            var auxiliaryReplicasLoadEntries       = default(IEnumerable <MetricLoadDescription>);
            var auxiliaryReplicaLoadEntriesPerNode = default(IEnumerable <ReplicaMetricLoadDescription>);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("PrimaryReplicaLoadEntries", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    primaryReplicaLoadEntries = reader.ReadList(MetricLoadDescriptionConverter.Deserialize);
                }
                else if (string.Compare("SecondaryReplicasOrInstancesLoadEntries", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    secondaryReplicasOrInstancesLoadEntries = reader.ReadList(MetricLoadDescriptionConverter.Deserialize);
                }
                else if (string.Compare("SecondaryReplicaOrInstanceLoadEntriesPerNode", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    secondaryReplicaOrInstanceLoadEntriesPerNode = reader.ReadList(ReplicaMetricLoadDescriptionConverter.Deserialize);
                }
                else if (string.Compare("AuxiliaryReplicasLoadEntries", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    auxiliaryReplicasLoadEntries = reader.ReadList(MetricLoadDescriptionConverter.Deserialize);
                }
                else if (string.Compare("AuxiliaryReplicaLoadEntriesPerNode", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    auxiliaryReplicaLoadEntriesPerNode = reader.ReadList(ReplicaMetricLoadDescriptionConverter.Deserialize);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionMetricLoadDescription(
                       partitionId: partitionId,
                       primaryReplicaLoadEntries: primaryReplicaLoadEntries,
                       secondaryReplicasOrInstancesLoadEntries: secondaryReplicasOrInstancesLoadEntries,
                       secondaryReplicaOrInstanceLoadEntriesPerNode: secondaryReplicaOrInstanceLoadEntriesPerNode,
                       auxiliaryReplicasLoadEntries: auxiliaryReplicasLoadEntries,
                       auxiliaryReplicaLoadEntriesPerNode: auxiliaryReplicaLoadEntriesPerNode));
        }
コード例 #13
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionBackupConfigurationInfo GetFromJsonProperties(JsonReader reader)
        {
            var policyName          = default(string);
            var policyInheritedFrom = default(BackupPolicyScope?);
            var suspensionInfo      = default(BackupSuspensionInfo);
            var serviceName         = default(ServiceName);
            var partitionId         = default(PartitionId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("PolicyName", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    policyName = reader.ReadValueAsString();
                }
                else if (string.Compare("PolicyInheritedFrom", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    policyInheritedFrom = BackupPolicyScopeConverter.Deserialize(reader);
                }
                else if (string.Compare("SuspensionInfo", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    suspensionInfo = BackupSuspensionInfoConverter.Deserialize(reader);
                }
                else if (string.Compare("ServiceName", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    serviceName = ServiceNameConverter.Deserialize(reader);
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionBackupConfigurationInfo(
                       policyName: policyName,
                       policyInheritedFrom: policyInheritedFrom,
                       suspensionInfo: suspensionInfo,
                       serviceName: serviceName,
                       partitionId: partitionId));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ReplicaHealthEvaluation GetFromJsonProperties(JsonReader reader)
        {
            var aggregatedHealthState = default(HealthState?);
            var description           = default(string);
            var partitionId           = default(PartitionId);
            var replicaOrInstanceId   = default(string);
            var unhealthyEvaluations  = default(IEnumerable <HealthEvaluationWrapper>);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("AggregatedHealthState", propName, StringComparison.Ordinal) == 0)
                {
                    aggregatedHealthState = HealthStateConverter.Deserialize(reader);
                }
                else if (string.Compare("Description", propName, StringComparison.Ordinal) == 0)
                {
                    description = reader.ReadValueAsString();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaOrInstanceId", propName, StringComparison.Ordinal) == 0)
                {
                    replicaOrInstanceId = reader.ReadValueAsString();
                }
                else if (string.Compare("UnhealthyEvaluations", propName, StringComparison.Ordinal) == 0)
                {
                    unhealthyEvaluations = reader.ReadList(HealthEvaluationWrapperConverter.Deserialize);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ReplicaHealthEvaluation(
                       aggregatedHealthState: aggregatedHealthState,
                       description: description,
                       partitionId: partitionId,
                       replicaOrInstanceId: replicaOrInstanceId,
                       unhealthyEvaluations: unhealthyEvaluations));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static SingletonPartitionInformation GetFromJsonProperties(JsonReader reader)
        {
            var id = default(PartitionId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("Id", propName, StringComparison.Ordinal) == 0)
                {
                    id = PartitionIdConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new SingletonPartitionInformation(
                       id: id));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static WaitForInbuildReplicaSafetyCheck GetFromJsonProperties(JsonReader reader)
        {
            var partitionId = default(PartitionId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new WaitForInbuildReplicaSafetyCheck(
                       partitionId: partitionId));
        }
コード例 #17
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static LoadedPartitionInformationResult GetFromJsonProperties(JsonReader reader)
        {
            var serviceName = default(string);
            var partitionId = default(PartitionId);
            var metricName  = default(string);
            var load        = default(long?);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("ServiceName", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    serviceName = reader.ReadValueAsString();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("MetricName", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    metricName = reader.ReadValueAsString();
                }
                else if (string.Compare("Load", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    load = reader.ReadValueAsLong();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new LoadedPartitionInformationResult(
                       serviceName: serviceName,
                       partitionId: partitionId,
                       metricName: metricName,
                       load: load));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionPrimaryMoveAnalysisEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId     = default(Guid?);
            var category            = default(string);
            var timeStamp           = default(DateTime?);
            var hasCorrelatedEvents = default(bool?);
            var partitionId         = default(PartitionId);
            var metadata            = default(AnalysisEventMetadata);
            var whenMoveCompleted   = default(DateTime?);
            var previousNode        = default(NodeName);
            var currentNode         = default(NodeName);
            var moveReason          = default(string);
            var relevantTraces      = default(string);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("EventInstanceId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    eventInstanceId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("Category", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    category = reader.ReadValueAsString();
                }
                else if (string.Compare("TimeStamp", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    timeStamp = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    hasCorrelatedEvents = reader.ReadValueAsBool();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("Metadata", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    metadata = AnalysisEventMetadataConverter.Deserialize(reader);
                }
                else if (string.Compare("WhenMoveCompleted", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    whenMoveCompleted = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("PreviousNode", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    previousNode = NodeNameConverter.Deserialize(reader);
                }
                else if (string.Compare("CurrentNode", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    currentNode = NodeNameConverter.Deserialize(reader);
                }
                else if (string.Compare("MoveReason", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    moveReason = reader.ReadValueAsString();
                }
                else if (string.Compare("RelevantTraces", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    relevantTraces = reader.ReadValueAsString();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionPrimaryMoveAnalysisEvent(
                       eventInstanceId: eventInstanceId,
                       category: category,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId,
                       metadata: metadata,
                       whenMoveCompleted: whenMoveCompleted,
                       previousNode: previousNode,
                       currentNode: currentNode,
                       moveReason: moveReason,
                       relevantTraces: relevantTraces));
        }
コード例 #19
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static DeployedStatefulServiceReplicaInfo GetFromJsonProperties(JsonReader reader)
        {
            var serviceName                = default(ServiceName);
            var serviceTypeName            = default(string);
            var serviceManifestName        = default(string);
            var codePackageName            = default(string);
            var partitionId                = default(PartitionId);
            var replicaStatus              = default(ReplicaStatus?);
            var address                    = default(string);
            var servicePackageActivationId = default(string);
            var hostProcessId              = default(string);
            var replicaId                  = default(ReplicaId);
            var replicaRole                = default(ReplicaRole?);
            var reconfigurationInformation = default(ReconfigurationInformation);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("ServiceName", propName, StringComparison.Ordinal) == 0)
                {
                    serviceName = ServiceNameConverter.Deserialize(reader);
                }
                else if (string.Compare("ServiceTypeName", propName, StringComparison.Ordinal) == 0)
                {
                    serviceTypeName = reader.ReadValueAsString();
                }
                else if (string.Compare("ServiceManifestName", propName, StringComparison.Ordinal) == 0)
                {
                    serviceManifestName = reader.ReadValueAsString();
                }
                else if (string.Compare("CodePackageName", propName, StringComparison.Ordinal) == 0)
                {
                    codePackageName = reader.ReadValueAsString();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaStatus", propName, StringComparison.Ordinal) == 0)
                {
                    replicaStatus = ReplicaStatusConverter.Deserialize(reader);
                }
                else if (string.Compare("Address", propName, StringComparison.Ordinal) == 0)
                {
                    address = reader.ReadValueAsString();
                }
                else if (string.Compare("ServicePackageActivationId", propName, StringComparison.Ordinal) == 0)
                {
                    servicePackageActivationId = reader.ReadValueAsString();
                }
                else if (string.Compare("HostProcessId", propName, StringComparison.Ordinal) == 0)
                {
                    hostProcessId = reader.ReadValueAsString();
                }
                else if (string.Compare("ReplicaId", propName, StringComparison.Ordinal) == 0)
                {
                    replicaId = ReplicaIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaRole", propName, StringComparison.Ordinal) == 0)
                {
                    replicaRole = ReplicaRoleConverter.Deserialize(reader);
                }
                else if (string.Compare("ReconfigurationInformation", propName, StringComparison.Ordinal) == 0)
                {
                    reconfigurationInformation = ReconfigurationInformationConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new DeployedStatefulServiceReplicaInfo(
                       serviceName: serviceName,
                       serviceTypeName: serviceTypeName,
                       serviceManifestName: serviceManifestName,
                       codePackageName: codePackageName,
                       partitionId: partitionId,
                       replicaStatus: replicaStatus,
                       address: address,
                       servicePackageActivationId: servicePackageActivationId,
                       hostProcessId: hostProcessId,
                       replicaId: replicaId,
                       replicaRole: replicaRole,
                       reconfigurationInformation: reconfigurationInformation));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ServiceCreatedEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId       = default(Guid?);
            var category              = default(string);
            var timeStamp             = default(DateTime?);
            var hasCorrelatedEvents   = default(bool?);
            var serviceId             = default(string);
            var serviceTypeName       = default(string);
            var applicationName       = default(string);
            var applicationTypeName   = default(string);
            var serviceInstance       = default(long?);
            var isStateful            = default(bool?);
            var partitionCount        = default(int?);
            var targetReplicaSetSize  = default(int?);
            var minReplicaSetSize     = default(int?);
            var servicePackageVersion = default(string);
            var partitionId           = default(PartitionId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("EventInstanceId", propName, StringComparison.Ordinal) == 0)
                {
                    eventInstanceId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("Category", propName, StringComparison.Ordinal) == 0)
                {
                    category = reader.ReadValueAsString();
                }
                else if (string.Compare("TimeStamp", propName, StringComparison.Ordinal) == 0)
                {
                    timeStamp = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.Ordinal) == 0)
                {
                    hasCorrelatedEvents = reader.ReadValueAsBool();
                }
                else if (string.Compare("ServiceId", propName, StringComparison.Ordinal) == 0)
                {
                    serviceId = reader.ReadValueAsString();
                }
                else if (string.Compare("ServiceTypeName", propName, StringComparison.Ordinal) == 0)
                {
                    serviceTypeName = reader.ReadValueAsString();
                }
                else if (string.Compare("ApplicationName", propName, StringComparison.Ordinal) == 0)
                {
                    applicationName = reader.ReadValueAsString();
                }
                else if (string.Compare("ApplicationTypeName", propName, StringComparison.Ordinal) == 0)
                {
                    applicationTypeName = reader.ReadValueAsString();
                }
                else if (string.Compare("ServiceInstance", propName, StringComparison.Ordinal) == 0)
                {
                    serviceInstance = reader.ReadValueAsLong();
                }
                else if (string.Compare("IsStateful", propName, StringComparison.Ordinal) == 0)
                {
                    isStateful = reader.ReadValueAsBool();
                }
                else if (string.Compare("PartitionCount", propName, StringComparison.Ordinal) == 0)
                {
                    partitionCount = reader.ReadValueAsInt();
                }
                else if (string.Compare("TargetReplicaSetSize", propName, StringComparison.Ordinal) == 0)
                {
                    targetReplicaSetSize = reader.ReadValueAsInt();
                }
                else if (string.Compare("MinReplicaSetSize", propName, StringComparison.Ordinal) == 0)
                {
                    minReplicaSetSize = reader.ReadValueAsInt();
                }
                else if (string.Compare("ServicePackageVersion", propName, StringComparison.Ordinal) == 0)
                {
                    servicePackageVersion = reader.ReadValueAsString();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ServiceCreatedEvent(
                       eventInstanceId: eventInstanceId,
                       category: category,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       serviceId: serviceId,
                       serviceTypeName: serviceTypeName,
                       applicationName: applicationName,
                       applicationTypeName: applicationTypeName,
                       serviceInstance: serviceInstance,
                       isStateful: isStateful,
                       partitionCount: partitionCount,
                       targetReplicaSetSize: targetReplicaSetSize,
                       minReplicaSetSize: minReplicaSetSize,
                       servicePackageVersion: servicePackageVersion,
                       partitionId: partitionId));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ChaosPartitionSecondaryMoveScheduledEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId     = default(Guid?);
            var category            = default(string);
            var timeStamp           = default(DateTime?);
            var hasCorrelatedEvents = default(bool?);
            var partitionId         = default(PartitionId);
            var faultGroupId        = default(Guid?);
            var faultId             = default(Guid?);
            var serviceName         = default(string);
            var sourceNode          = default(NodeName);
            var destinationNode     = default(NodeName);
            var forcedMove          = default(bool?);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("EventInstanceId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    eventInstanceId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("Category", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    category = reader.ReadValueAsString();
                }
                else if (string.Compare("TimeStamp", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    timeStamp = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    hasCorrelatedEvents = reader.ReadValueAsBool();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("FaultGroupId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    faultGroupId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("FaultId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    faultId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("ServiceName", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    serviceName = reader.ReadValueAsString();
                }
                else if (string.Compare("SourceNode", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    sourceNode = NodeNameConverter.Deserialize(reader);
                }
                else if (string.Compare("DestinationNode", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    destinationNode = NodeNameConverter.Deserialize(reader);
                }
                else if (string.Compare("ForcedMove", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    forcedMove = reader.ReadValueAsBool();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ChaosPartitionSecondaryMoveScheduledEvent(
                       eventInstanceId: eventInstanceId,
                       category: category,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId,
                       faultGroupId: faultGroupId,
                       faultId: faultId,
                       serviceName: serviceName,
                       sourceNode: sourceNode,
                       destinationNode: destinationNode,
                       forcedMove: forcedMove));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static StatelessReplicaHealthReportExpiredEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId     = default(Guid?);
            var category            = default(string);
            var timeStamp           = default(DateTime?);
            var hasCorrelatedEvents = default(bool?);
            var partitionId         = default(PartitionId);
            var replicaId           = default(ReplicaId);
            var sourceId            = default(string);
            var property            = default(string);
            var healthState         = default(string);
            var timeToLiveMs        = default(long?);
            var sequenceNumber      = default(long?);
            var description         = default(string);
            var removeWhenExpired   = default(bool?);
            var sourceUtcTimestamp  = default(DateTime?);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("EventInstanceId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    eventInstanceId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("Category", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    category = reader.ReadValueAsString();
                }
                else if (string.Compare("TimeStamp", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    timeStamp = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    hasCorrelatedEvents = reader.ReadValueAsBool();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    replicaId = ReplicaIdConverter.Deserialize(reader);
                }
                else if (string.Compare("SourceId", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    sourceId = reader.ReadValueAsString();
                }
                else if (string.Compare("Property", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    property = reader.ReadValueAsString();
                }
                else if (string.Compare("HealthState", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    healthState = reader.ReadValueAsString();
                }
                else if (string.Compare("TimeToLiveMs", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    timeToLiveMs = reader.ReadValueAsLong();
                }
                else if (string.Compare("SequenceNumber", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    sequenceNumber = reader.ReadValueAsLong();
                }
                else if (string.Compare("Description", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    description = reader.ReadValueAsString();
                }
                else if (string.Compare("RemoveWhenExpired", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    removeWhenExpired = reader.ReadValueAsBool();
                }
                else if (string.Compare("SourceUtcTimestamp", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    sourceUtcTimestamp = reader.ReadValueAsDateTime();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new StatelessReplicaHealthReportExpiredEvent(
                       eventInstanceId: eventInstanceId,
                       category: category,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId,
                       replicaId: replicaId,
                       sourceId: sourceId,
                       property: property,
                       healthState: healthState,
                       timeToLiveMs: timeToLiveMs,
                       sequenceNumber: sequenceNumber,
                       description: description,
                       removeWhenExpired: removeWhenExpired,
                       sourceUtcTimestamp: sourceUtcTimestamp));
        }
コード例 #23
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ChaosMovePrimaryFaultScheduledEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId     = default(Guid?);
            var timeStamp           = default(DateTime?);
            var hasCorrelatedEvents = default(bool?);
            var partitionId         = default(PartitionId);
            var faultGroupId        = default(Guid?);
            var faultId             = default(Guid?);
            var serviceName         = default(string);
            var nodeTo     = default(NodeName);
            var forcedMove = default(bool?);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("EventInstanceId", propName, StringComparison.Ordinal) == 0)
                {
                    eventInstanceId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("TimeStamp", propName, StringComparison.Ordinal) == 0)
                {
                    timeStamp = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.Ordinal) == 0)
                {
                    hasCorrelatedEvents = reader.ReadValueAsBool();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("FaultGroupId", propName, StringComparison.Ordinal) == 0)
                {
                    faultGroupId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("FaultId", propName, StringComparison.Ordinal) == 0)
                {
                    faultId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("ServiceName", propName, StringComparison.Ordinal) == 0)
                {
                    serviceName = reader.ReadValueAsString();
                }
                else if (string.Compare("NodeTo", propName, StringComparison.Ordinal) == 0)
                {
                    nodeTo = NodeNameConverter.Deserialize(reader);
                }
                else if (string.Compare("ForcedMove", propName, StringComparison.Ordinal) == 0)
                {
                    forcedMove = reader.ReadValueAsBool();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ChaosMovePrimaryFaultScheduledEvent(
                       eventInstanceId: eventInstanceId,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId,
                       faultGroupId: faultGroupId,
                       faultId: faultId,
                       serviceName: serviceName,
                       nodeTo: nodeTo,
                       forcedMove: forcedMove));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionReconfigurationCompletedEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId        = default(Guid?);
            var timeStamp              = default(DateTime?);
            var hasCorrelatedEvents    = default(bool?);
            var partitionId            = default(PartitionId);
            var nodeName               = default(NodeName);
            var nodeInstanceId         = default(string);
            var serviceType            = default(string);
            var ccEpochDataLossVersion = default(long?);
            var ccEpochConfigVersion   = default(long?);
            var reconfigType           = default(string);
            var result           = default(string);
            var phase0DurationMs = default(double?);
            var phase1DurationMs = default(double?);
            var phase2DurationMs = default(double?);
            var phase3DurationMs = default(double?);
            var phase4DurationMs = default(double?);
            var totalDurationMs  = default(double?);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("EventInstanceId", propName, StringComparison.Ordinal) == 0)
                {
                    eventInstanceId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("TimeStamp", propName, StringComparison.Ordinal) == 0)
                {
                    timeStamp = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.Ordinal) == 0)
                {
                    hasCorrelatedEvents = reader.ReadValueAsBool();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("NodeName", propName, StringComparison.Ordinal) == 0)
                {
                    nodeName = NodeNameConverter.Deserialize(reader);
                }
                else if (string.Compare("NodeInstanceId", propName, StringComparison.Ordinal) == 0)
                {
                    nodeInstanceId = reader.ReadValueAsString();
                }
                else if (string.Compare("ServiceType", propName, StringComparison.Ordinal) == 0)
                {
                    serviceType = reader.ReadValueAsString();
                }
                else if (string.Compare("CcEpochDataLossVersion", propName, StringComparison.Ordinal) == 0)
                {
                    ccEpochDataLossVersion = reader.ReadValueAsLong();
                }
                else if (string.Compare("CcEpochConfigVersion", propName, StringComparison.Ordinal) == 0)
                {
                    ccEpochConfigVersion = reader.ReadValueAsLong();
                }
                else if (string.Compare("ReconfigType", propName, StringComparison.Ordinal) == 0)
                {
                    reconfigType = reader.ReadValueAsString();
                }
                else if (string.Compare("Result", propName, StringComparison.Ordinal) == 0)
                {
                    result = reader.ReadValueAsString();
                }
                else if (string.Compare("Phase0DurationMs", propName, StringComparison.Ordinal) == 0)
                {
                    phase0DurationMs = reader.ReadValueAsDouble();
                }
                else if (string.Compare("Phase1DurationMs", propName, StringComparison.Ordinal) == 0)
                {
                    phase1DurationMs = reader.ReadValueAsDouble();
                }
                else if (string.Compare("Phase2DurationMs", propName, StringComparison.Ordinal) == 0)
                {
                    phase2DurationMs = reader.ReadValueAsDouble();
                }
                else if (string.Compare("Phase3DurationMs", propName, StringComparison.Ordinal) == 0)
                {
                    phase3DurationMs = reader.ReadValueAsDouble();
                }
                else if (string.Compare("Phase4DurationMs", propName, StringComparison.Ordinal) == 0)
                {
                    phase4DurationMs = reader.ReadValueAsDouble();
                }
                else if (string.Compare("TotalDurationMs", propName, StringComparison.Ordinal) == 0)
                {
                    totalDurationMs = reader.ReadValueAsDouble();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionReconfigurationCompletedEvent(
                       eventInstanceId: eventInstanceId,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId,
                       nodeName: nodeName,
                       nodeInstanceId: nodeInstanceId,
                       serviceType: serviceType,
                       ccEpochDataLossVersion: ccEpochDataLossVersion,
                       ccEpochConfigVersion: ccEpochConfigVersion,
                       reconfigType: reconfigType,
                       result: result,
                       phase0DurationMs: phase0DurationMs,
                       phase1DurationMs: phase1DurationMs,
                       phase2DurationMs: phase2DurationMs,
                       phase3DurationMs: phase3DurationMs,
                       phase4DurationMs: phase4DurationMs,
                       totalDurationMs: totalDurationMs));
        }
コード例 #25
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ChaosRestartReplicaFaultScheduledEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId     = default(Guid?);
            var timeStamp           = default(DateTime?);
            var hasCorrelatedEvents = default(bool?);
            var partitionId         = default(PartitionId);
            var replicaId           = default(ReplicaId);
            var faultGroupId        = default(Guid?);
            var faultId             = default(Guid?);
            var serviceUri          = default(string);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("EventInstanceId", propName, StringComparison.Ordinal) == 0)
                {
                    eventInstanceId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("TimeStamp", propName, StringComparison.Ordinal) == 0)
                {
                    timeStamp = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.Ordinal) == 0)
                {
                    hasCorrelatedEvents = reader.ReadValueAsBool();
                }
                else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                {
                    partitionId = PartitionIdConverter.Deserialize(reader);
                }
                else if (string.Compare("ReplicaId", propName, StringComparison.Ordinal) == 0)
                {
                    replicaId = ReplicaIdConverter.Deserialize(reader);
                }
                else if (string.Compare("FaultGroupId", propName, StringComparison.Ordinal) == 0)
                {
                    faultGroupId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("FaultId", propName, StringComparison.Ordinal) == 0)
                {
                    faultId = reader.ReadValueAsGuid();
                }
                else if (string.Compare("ServiceUri", propName, StringComparison.Ordinal) == 0)
                {
                    serviceUri = reader.ReadValueAsString();
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ChaosRestartReplicaFaultScheduledEvent(
                       eventInstanceId: eventInstanceId,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId,
                       replicaId: replicaId,
                       faultGroupId: faultGroupId,
                       faultId: faultId,
                       serviceUri: serviceUri));
        }
コード例 #26
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from.</param>
        /// <returns>The object Value.</returns>
        internal static PartitionEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId     = default(Guid?);
            var category            = default(string);
            var timeStamp           = default(DateTime?);
            var hasCorrelatedEvents = default(bool?);
            var partitionId         = default(PartitionId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (propName.Equals("Kind", StringComparison.Ordinal))
                {
                    var propValue = reader.ReadValueAsString();

                    if (propValue.Equals("PartitionAnalysisEvent", StringComparison.Ordinal))
                    {
                        return(PartitionAnalysisEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("PartitionNewHealthReport", StringComparison.Ordinal))
                    {
                        return(PartitionNewHealthReportEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("PartitionHealthReportExpired", StringComparison.Ordinal))
                    {
                        return(PartitionHealthReportExpiredEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("PartitionReconfigured", StringComparison.Ordinal))
                    {
                        return(PartitionReconfiguredEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("PartitionPrimaryMoveAnalysis", StringComparison.Ordinal))
                    {
                        return(PartitionPrimaryMoveAnalysisEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("ChaosPartitionSecondaryMoveScheduled", StringComparison.Ordinal))
                    {
                        return(ChaosPartitionSecondaryMoveScheduledEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("ChaosPartitionPrimaryMoveScheduled", StringComparison.Ordinal))
                    {
                        return(ChaosPartitionPrimaryMoveScheduledEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("PartitionEvent", StringComparison.Ordinal))
                    {
                        // kind specified as same type, deserialize using properties.
                    }
                    else
                    {
                        throw new InvalidOperationException("Unknown Discriminator.");
                    }
                }
                else
                {
                    if (string.Compare("EventInstanceId", propName, StringComparison.Ordinal) == 0)
                    {
                        eventInstanceId = reader.ReadValueAsGuid();
                    }
                    else if (string.Compare("Category", propName, StringComparison.Ordinal) == 0)
                    {
                        category = reader.ReadValueAsString();
                    }
                    else if (string.Compare("TimeStamp", propName, StringComparison.Ordinal) == 0)
                    {
                        timeStamp = reader.ReadValueAsDateTime();
                    }
                    else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.Ordinal) == 0)
                    {
                        hasCorrelatedEvents = reader.ReadValueAsBool();
                    }
                    else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                    {
                        partitionId = PartitionIdConverter.Deserialize(reader);
                    }
                    else
                    {
                        reader.SkipPropertyValue();
                    }
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new PartitionEvent(
                       kind: Common.FabricEventKind.PartitionEvent,
                       eventInstanceId: eventInstanceId,
                       category: category,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId));
        }
コード例 #27
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from.</param>
        /// <returns>The object Value.</returns>
        internal static ReplicaEvent GetFromJsonProperties(JsonReader reader)
        {
            var eventInstanceId     = default(Guid?);
            var timeStamp           = default(DateTime?);
            var hasCorrelatedEvents = default(bool?);
            var partitionId         = default(PartitionId);
            var replicaId           = default(ReplicaId);

            do
            {
                var propName = reader.ReadPropertyName();
                if (propName.Equals("Kind", StringComparison.Ordinal))
                {
                    var propValue = reader.ReadValueAsString();

                    if (propValue.Equals("StatefulReplicaHealthReportCreated", StringComparison.Ordinal))
                    {
                        return(StatefulReplicaHealthReportCreatedEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("StatefulReplicaHealthReportExpired", StringComparison.Ordinal))
                    {
                        return(StatefulReplicaHealthReportExpiredEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("StatelessReplicaHealthReportCreated", StringComparison.Ordinal))
                    {
                        return(StatelessReplicaHealthReportCreatedEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("StatelessReplicaHealthReportExpired", StringComparison.Ordinal))
                    {
                        return(StatelessReplicaHealthReportExpiredEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("ChaosRemoveReplicaFaultScheduled", StringComparison.Ordinal))
                    {
                        return(ChaosRemoveReplicaFaultScheduledEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("ChaosRemoveReplicaFaultCompleted", StringComparison.Ordinal))
                    {
                        return(ChaosRemoveReplicaFaultCompletedEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("ChaosRestartReplicaFaultScheduled", StringComparison.Ordinal))
                    {
                        return(ChaosRestartReplicaFaultScheduledEventConverter.GetFromJsonProperties(reader));
                    }
                    else if (propValue.Equals("ReplicaEvent", StringComparison.Ordinal))
                    {
                        // kind specified as same type, deserialize using properties.
                    }
                    else
                    {
                        throw new InvalidOperationException("Unknown Discriminator.");
                    }
                }
                else
                {
                    if (string.Compare("EventInstanceId", propName, StringComparison.Ordinal) == 0)
                    {
                        eventInstanceId = reader.ReadValueAsGuid();
                    }
                    else if (string.Compare("TimeStamp", propName, StringComparison.Ordinal) == 0)
                    {
                        timeStamp = reader.ReadValueAsDateTime();
                    }
                    else if (string.Compare("HasCorrelatedEvents", propName, StringComparison.Ordinal) == 0)
                    {
                        hasCorrelatedEvents = reader.ReadValueAsBool();
                    }
                    else if (string.Compare("PartitionId", propName, StringComparison.Ordinal) == 0)
                    {
                        partitionId = PartitionIdConverter.Deserialize(reader);
                    }
                    else if (string.Compare("ReplicaId", propName, StringComparison.Ordinal) == 0)
                    {
                        replicaId = ReplicaIdConverter.Deserialize(reader);
                    }
                    else
                    {
                        reader.SkipPropertyValue();
                    }
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ReplicaEvent(
                       kind: Common.FabricEventKind.ReplicaEvent,
                       eventInstanceId: eventInstanceId,
                       timeStamp: timeStamp,
                       hasCorrelatedEvents: hasCorrelatedEvents,
                       partitionId: partitionId,
                       replicaId: replicaId));
        }