Skip to content

Commit

Permalink
Merge pull request hashicorp#15 from PlayFab/develop
Browse files Browse the repository at this point in the history
Fixes a bunch of bugs
  • Loading branch information
highlyunavailable committed Jul 23, 2015
2 parents 9614c88 + 9b0fb92 commit 4caa30c
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 18 deletions.
26 changes: 15 additions & 11 deletions Consul/GoDuration.cs
Expand Up @@ -28,12 +28,12 @@ namespace Consul
/// </summary>
public class Duration
{
public const ulong Nanosecond = Microsecond/1000;
public const ulong Microsecond = Millisecond/1000;
public const ulong Millisecond = 1;
public const ulong Second = 1000*Millisecond;
public const ulong Minute = 60*Second;
public const ulong Hour = 60*Minute;
public const double Nanosecond = Microsecond / 1000;
public const double Microsecond = Millisecond / 1000;
public const double Millisecond = 1;
public const double Second = 1000 * Millisecond;
public const double Minute = 60 * Second;
public const double Hour = 60 * Minute;

public static Dictionary<string, double> UnitMap = new Dictionary<string, double>()
{
Expand All @@ -49,22 +49,26 @@ public class Duration

public static string ToDuration(TimeSpan ts)
{
if (ts == TimeSpan.Zero)
{
return "0";
}
var outDuration = new StringBuilder();
if (ts.TotalSeconds < 1)
{
outDuration.Append(ts.TotalMilliseconds.ToString("#ms"));
}
else
{
if ((int) ts.TotalHours > 0)
if ((int)ts.TotalHours > 0)
{
outDuration.Append(ts.TotalHours.ToString("#h"));
}
if ((int) ts.TotalMinutes > 0)
if ((int)ts.TotalMinutes > 0)
{
outDuration.Append(ts.Minutes.ToString("#m"));
}
if ((int) ts.TotalSeconds > 0)
if ((int)ts.TotalSeconds > 0)
{
outDuration.Append(ts.Seconds.ToString("#"));
}
Expand Down Expand Up @@ -94,7 +98,7 @@ public static TimeSpan Parse(string value)
ulong result;
if (ulong.TryParse(value, out result))
{
return TimeSpan.FromTicks((long) (result/100));
return TimeSpan.FromTicks((long)(result / 100));
}

var matches = Regex.Matches(value, pattern);
Expand All @@ -111,7 +115,7 @@ public static TimeSpan Parse(string value)
{
if (UnitMap.ContainsKey(match.Groups[2].Value))
{
time += res*UnitMap[match.Groups[2].Value];
time += res * UnitMap[match.Groups[2].Value];
}
else
{
Expand Down
12 changes: 6 additions & 6 deletions Consul/JsonConverters.cs
Expand Up @@ -25,18 +25,18 @@ public class NanoSecTimespanConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
serializer.Serialize(writer, ((TimeSpan) value).TotalMilliseconds*1000, typeof (long));
serializer.Serialize(writer, (long)((TimeSpan)value).TotalMilliseconds * 1000000, typeof(long));
}

public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
JsonSerializer serializer)
{
return Duration.Parse((string) serializer.Deserialize(reader, typeof (string)));
return Duration.Parse((string)serializer.Deserialize(reader, typeof(string)));
}

public override bool CanConvert(Type objectType)
{
if (objectType == typeof (TimeSpan))
if (objectType == typeof(TimeSpan))
{
return true;
}
Expand All @@ -48,18 +48,18 @@ public class DurationTimespanConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
serializer.Serialize(writer, Duration.ToDuration((TimeSpan) value));
serializer.Serialize(writer, Duration.ToDuration((TimeSpan)value));
}

public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
JsonSerializer serializer)
{
return Duration.Parse((string) serializer.Deserialize(reader, typeof (string)));
return Duration.Parse((string)serializer.Deserialize(reader, typeof(string)));
}

public override bool CanConvert(Type objectType)
{
if (objectType == typeof (TimeSpan))
if (objectType == typeof(TimeSpan))
{
return true;
}
Expand Down
2 changes: 1 addition & 1 deletion Consul/KV.cs
Expand Up @@ -262,7 +262,7 @@ public WriteResult<bool> Acquire(KVPair p)
/// <returns>A write result indicating if the acquisition attempt succeeded</returns>
public WriteResult<bool> Acquire(KVPair p, WriteOptions q)
{
var req = _client.CreateWriteRequest<object, bool>(string.Format("/v1/kv/{0}", p.Key), q);
var req = _client.CreateWriteRequest<byte[], bool>(string.Format("/v1/kv/{0}", p.Key), p.Value, q);
if (p.Flags > 0)
{
req.Params["flags"] = p.Flags.ToString();
Expand Down

0 comments on commit 4caa30c

Please sign in to comment.