public static StreamsXPendingConsumerResult[] ThrowOrValueToXPendingConsumer(this RedisResult rt) => rt.ThrowOrValue((a, _) => { if (a == null) { return(new StreamsXPendingConsumerResult[0]); } var ret = new StreamsXPendingConsumerResult[a.Length]; for (var z = 0; z < a.Length; z++) { var objs1 = a[z] as object[]; ret[z] = new StreamsXPendingConsumerResult { id = objs1[0].ConvertTo <string>(), consumer = objs1[1].ConvertTo <string>(), idle = objs1[2].ConvertTo <long>(), deliveredTimes = objs1[3].ConvertTo <long>() }; } return(ret); });
public static RoleResult ThrowOrValueToRole(this RedisResult rt) => rt.ThrowOrValue((a, _) => { if (a?.Any() != true) { return(null); } var role = new RoleResult { role = a[0].ConvertTo <RoleType>() }; switch (role.role) { case RoleType.Master: role.data = new RoleResult.MasterInfo { _replication_offset = a[1].ConvertTo <long>(), _slaves = (a[2] as object[])?.Select(x => { var xs = x as object[]; return(new RoleResult.MasterInfo.Slave { ip = xs[0].ConvertTo <string>(), port = xs[1].ConvertTo <int>(), slave_offset = xs[2].ConvertTo <long>() }); }).ToArray() }; break; case RoleType.Slave: role.data = new RoleResult.Slave { master_ip = a[1].ConvertTo <string>(), master_port = a[2].ConvertTo <int>(), replication_state = a[3].ConvertTo <string>(), data_received = a[4].ConvertTo <long>() }; break; case RoleType.Sentinel: role.data = a[1].ConvertTo <string[]>(); break; } return(role); });
public static StreamsXPendingResult ThrowOrValueToXPending(this RedisResult rt) => rt.ThrowOrValue((a, _) => { if (a?.Any() != true) { return(null); } var ret = new StreamsXPendingResult { count = a[0].ConvertTo <long>(), minId = a[1].ConvertTo <string>(), maxId = a[2].ConvertTo <string>() }; var objs1 = a[3] as object[]; ret.consumers = new StreamsXPendingResult.Consumer[objs1.Length]; for (var z = 0; z < objs1.Length; z++) { var objs2 = objs1[z] as object[]; ret.consumers[z] = new StreamsXPendingResult.Consumer { consumer = objs2[0].ConvertTo <string>(), count = objs2[1].ConvertTo <long>() }; } return(ret); });
public static StreamsEntry[] ThrowOrValueToStreamsEntryArray(this RedisResult rt) => rt.ThrowOrValue((a, _) => { if (a == null) { return(new StreamsEntry[0]); } var entries = new StreamsEntry[a.Length]; for (var z = 0; z < a.Length; z++) { var objs1 = a[z] as object[]; if (objs1 == null) { continue; } entries[z] = new StreamsEntry { id = objs1[0].ConvertTo <string>(), fieldValues = objs1[1] as object[] }; } return(entries); });
public static StreamsXInfoStreamFullResult ThrowOrValueToXInfoStreamFullResult(this RedisResult rt) => rt.ThrowOrValue((objs_full, _) => { if (objs_full == null) { return(null); } var objs_entries = objs_full[9] as object[]; if (objs_entries != null) { objs_full[9] = objs_entries.Select(z => { var objs_entry = z as object[]; return(objs_entry == null ? null : new StreamsEntry { id = objs_entry[0].ConvertTo <string>(), fieldValues = objs_entry[1] as object[] }); }).ToArray(); } var objs_groups = objs_full[11] as object[]; if (objs_groups != null) { objs_full[11] = objs_groups.Select(z => { var objs_group = z as object[]; if (objs_group == null) { return(null); } var objs_pendings = objs_group[7] as object[]; if (objs_pendings != null) { objs_group[7] = objs_pendings.Select(y => { var objs_pending = y as object[]; if (objs_pending == null) { return(null); } return(new StreamsXInfoStreamFullResult.Group.Pending { id = objs_pending[0].ConvertTo <string>(), consumer = objs_pending[1].ConvertTo <string>(), seen_time = objs_pending[2].ConvertTo <long>(), pel_count = objs_pending[3].ConvertTo <long>() }); }).ToArray(); } var objs_consumers = objs_group[9] as object[]; if (objs_consumers != null) { objs_group[9] = objs_consumers.Select(y => { var objs_consumer = y as object[]; if (objs_consumer == null) { return(null); } var objs_consumer_pendings = objs_consumer[7] as object[]; if (objs_consumer_pendings != null) { objs_consumer[7] = objs_consumer_pendings.Select(x => { var objs_consumer_pending = x as object[]; if (objs_consumer_pending == null) { return(null); } return(new StreamsXInfoStreamFullResult.Group.Pending { id = objs_consumer_pending[0].ConvertTo <string>(), consumer = objs_consumer[1].ConvertTo <string>(), seen_time = objs_consumer_pending[1].ConvertTo <long>(), pel_count = objs_consumer_pending[2].ConvertTo <long>() }); }).ToArray(); } return(objs_consumer.MapToClass <StreamsXInfoStreamFullResult.Group.Consumer>(rt.Encoding)); }).ToArray(); } return(objs_group.MapToClass <StreamsXInfoStreamFullResult.Group>(rt.Encoding)); }).ToArray(); } return(objs_full.MapToClass <StreamsXInfoStreamFullResult>(rt.Encoding)); });