/// <summary>
        ///     Convert the raw value of <paramref name="This" /> key's node.
        /// </summary>
        public static T GetValue <T>(this IKeyData This, IKeyDataValueConverter valueConverter = null)
        {
            if (This == null)
            {
                return(default(T));
            }

            var value = This.RawValue;

            var keyData = This as KeyData;

            valueConverter = valueConverter == null && keyData != null?keyData.ValueConverter() : valueConverter;

            valueConverter = valueConverter ?? Etcd.Configuration.ValueConverter;
            return(valueConverter.Read <T>(value));
        }
Exemple #2
0
 /// <summary>
 ///     The value to convert to a string and set for this key's node.
 /// </summary>
 public static IUpsertKeyRequest WithValue <T>(this IUpsertKeyRequest This, T value, IKeyDataValueConverter valueConverter = null)
 {
     return(This.WithValue(Convert(This.EtcdClient.Config, value, valueConverter)));
 }
Exemple #3
0
 /// <summary>
 ///     The new value to convert to a string and set for this key's node.
 /// </summary>
 public static ICompareAndSwapByValueRequest WithNewValue <T>(this ICompareAndSwapByValueRequest This, T value, IKeyDataValueConverter valueConverter = null)
 {
     return(This.WithNewValue(Convert(This.EtcdClient.Config, value, valueConverter)));
 }
Exemple #4
0
 private static string Convert <T>(IEtcdClientConfig config, T value, IKeyDataValueConverter valueConverter = null)
 {
     valueConverter = valueConverter ?? (config.ValueConverter ?? Etcd.Configuration.ValueConverter);
     return(valueConverter.Write(value));
 }