/// <summary> /// <para> /// Instantiates a <see cref="System.Fabric.Description.ServiceTypeDescription" /> class with specified service description kind. /// </para> /// </summary> /// <param name="kind"> /// <para>The service description kind.</para> /// </param> protected internal ServiceTypeDescription(ServiceDescriptionKind kind) { this.ServiceTypeKind = kind; // Needs to be initialized as empty list as native serializer does not work well with null. this.Policies = new List <ServicePlacementPolicyDescription>(); }
/// <summary> /// <para>Initialize an instance of <see cref="System.Fabric.Description.ServiceDescription" /> with service kind.</para> /// </summary> /// <param name="kind"> /// <para>Describe the kind of service type.</para> /// </param> protected ServiceDescription(ServiceDescriptionKind kind) { this.Kind = kind; this.PlacementConstraints = string.Empty; this.isDefaultMoveCostSpecified = false; this.defaultMoveCost = MoveCost.Low; this.ServicePackageActivationMode = ServicePackageActivationMode.SharedProcess; }
internal static Type ResolveDerivedClass(ServiceDescriptionKind kind) { switch (kind) { case ServiceDescriptionKind.Stateless: return(typeof(StatelessServiceDescription)); case ServiceDescriptionKind.Stateful: return(typeof(StatefulServiceDescription)); default: return(null); } }
public static ServiceTypeDescription CreateRandomServiceTypeDescription(this Random random) { ServiceTypeDescription result; ServiceDescriptionKind kind = random.CreateRandom <ServiceDescriptionKind>(); switch (kind) { case ServiceDescriptionKind.Stateful: result = random.CreateRandom <StatefulServiceTypeDescription>(); break; case ServiceDescriptionKind.Stateless: result = random.CreateRandom <StatelessServiceTypeDescription>(); break; default: return(null); } result.ServiceTypeKind = kind; return(result); }
/// <summary> /// <para> /// Initializes a new instance of the <see cref="System.Fabric.Description.ServiceUpdateDescription" /> class with no changes specified. /// The relevant properties must be explicitly set to specify changes. /// </para> /// </summary> /// <param name="kind"> /// <para> /// The kind specifies the derived type of this instance /// (e.g. <see cref="System.Fabric.Description.StatelessServiceUpdateDescription" /> or <see cref="System.Fabric.Description.StatefulServiceUpdateDescription" />). /// </para> /// </param> protected ServiceUpdateDescription(ServiceDescriptionKind kind) { this.Kind = kind; }