public static RedisIsMasterDownInfo Parse(RedisRawObject rawObject) { var result = new RedisIsMasterDownInfo(); if (!ReferenceEquals(rawObject, null) && rawObject.Type == RedisRawObjectType.Array) { var items = rawObject.Items; if (items != null) { var count = items.Count; if (count > 0) { var item = items[0]; if (!ReferenceEquals(item, null) && item.Type == RedisRawObjectType.Integer) { var data = item.Data; if (data is long) { result.IsDown = (long)data == RedisConstants.One; } else if (data is int) { result.IsDown = (int)data == RedisConstants.One; } if (count > 1) { item = items[1]; if (!ReferenceEquals(item, null) && item.Type == RedisRawObjectType.BulkString) { result.LeaderRunId = item.DataText ?? "*"; if (count > 2) { item = items[2]; if (!ReferenceEquals(item, null) && item.Type == RedisRawObjectType.Integer) { data = item.Data; if (data is long) { result.LeaderEpoch = (long)data; } else if (data is int) { result.LeaderEpoch = (int)data; } } } } } } } } } return(result); }
public static RedisIsMasterDownInfo Parse(RedisArray array) { var result = new RedisIsMasterDownInfo(); if (!ReferenceEquals(array, null)) { var items = array.Value; if (items != null) { var count = items.Count; if (count > 0) { var item = items[0]; if (!ReferenceEquals(item, null) && item.Type == RedisResultType.Integer) { result.IsDown = ((RedisInteger)item).Value == RedisConstants.One; if (count > 1) { item = items[1]; if (!ReferenceEquals(item, null) && item.Type == RedisResultType.Bytes) { result.LeaderRunId = ((RedisBytes)item).Value.ToUTF8String() ?? "*"; if (count > 2) { item = items[2]; if (!ReferenceEquals(item, null) && item.Type == RedisResultType.Integer) { result.LeaderEpoch = ((RedisInteger)item).Value; } } } } } } } } return(result); }