Exemple #1
0
        /// <summary>
        /// Get a named process setting
        /// </summary>
        /// <param name="pid">Process</param>
        /// <param name="name">Name of setting</param>
        /// <param name="prop">Name of property within the setting (for complex
        /// types, not value types)</param>
        /// <returns></returns>
        internal Option <T> GetProcessSetting <T>(ProcessId pid, string name, string prop, ProcessFlags flags)
        {
            var empty = HashMap <string, ValueToken>();

            var settingsMaps = Seq(
                processSettings.Find(pid).Map(token => token.Settings).IfNone(empty),
                processSettings.Find(RolePid(pid)).Map(token => token.Settings).IfNone(empty),
                roleSettings,
                Cluster.Map(c => c.Settings).IfNone(empty));

            return(GetSettingGeneral <T>(settingsMaps, ActorInboxCommon.ClusterSettingsKey(pid), name, prop, flags));
        }
Exemple #2
0
        /// <summary>
        /// Get a named process setting
        /// </summary>
        /// <param name="pid">Process</param>
        /// <param name="name">Name of setting</param>
        /// <param name="prop">Name of property within the setting (for complex
        /// types, not value types)</param>
        /// <returns></returns>
        internal T GetProcessSetting <T>(ProcessId pid, string name, string prop, T defaultValue, ProcessFlags flags)
        {
            var empty = Map <string, ValueToken>();

            var settingsMaps = new[] {
                processSettings.Find(pid).Map(token => token.Settings).IfNone(empty),
                processSettings.Find(RolePid(pid)).Map(token => token.Settings).IfNone(empty),
                roleSettings,
                Cluster.Map(c => c.Settings).IfNone(empty)
            };

            return(GetSettingGeneral(settingsMaps, ActorInboxCommon.ClusterSettingsKey(pid), name, prop, defaultValue, flags));
        }