private void LoadSettingsFromUnreliableTransportSettingsFile(string filePath) { if (File.Exists(filePath) == true) { try { using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (StreamReader file = new StreamReader(fileStream)) { string specificationString; while ((specificationString = file.ReadLine()) != null) { UnreliableTransportSpecification specification = new UnreliableTransportSpecification(); if (Constants.ErrorCode_Success == ParseSpecificationFromINI(specificationString, ref specification)) { Specification.Add(specification); } else { DeployerTrace.WriteWarning("Skipping malformed line in UnreliableTransportSettings File, value = [{0}]", specificationString); } } } } } catch (Exception e) { DeployerTrace.WriteError("Unable to read Unreliable Settings file because {0}", e); throw; } } }
private int ParseSpecificationFromClusterSettings(string name, string value, ref UnreliableTransportSpecification specification) { // behavior name specification.Name = name; specification.Specification = value; return(Constants.ErrorCode_Success); }
private int ParseSpecificationFromINI(string specificationLine, ref UnreliableTransportSpecification specification) { string[] specificationSplit = specificationLine.Split('='); // check whether specification is malformed if (specificationSplit.Length > 0) { // behavior name (separated from remaining properties by '=') specification.Name = specificationSplit[0]; } else { return(Constants.ErrorCode_Success); } specification.Specification = (specificationSplit.Length > 1) ? specificationSplit[1] : ""; return(Constants.ErrorCode_Failure); }
private void LoadSettingsFromClusterSettings(ClusterSettings clusterSettings) { foreach (var setting in clusterSettings.Settings) { if (setting.Name == FabricValidatorConstants.SectionNames.UnreliableTransport) { foreach (var parameter in setting.Parameter) { UnreliableTransportSpecification specification = new UnreliableTransportSpecification(); if (!parameter.Name.Contains('=') && ParseSpecificationFromClusterSettings(parameter.Name, parameter.Value, ref specification) != Constants.ErrorCode_Failure) { Specification.Add(specification); } else { DeployerTrace.WriteWarning("Skipping malformed UnreliableTransport line in ClusterManifest File, value = [name = {0} value = {1}]", parameter.Name, parameter.Value); } } } } }