public async ValueTask <List <StreamDataItem <T> > > Read(string consumer, int?block, int?count, string start = null) { StreamDataReceive <T> receiver = new StreamDataReceive <T>(); mReceiver = receiver; Commands.XREADGROUP cmd = new Commands.XREADGROUP(Stream.Name, Name, consumer, start); cmd.NetworkReceive = receiver.Receive; cmd.DataFormater = Stream.DB.DataFormater; cmd.Block = block; cmd.Count = count; var result = await Stream.DB.Execute(cmd, typeof(T)); result.Throw(); List <StreamDataItem <T> > items = new List <StreamDataItem <T> >(); foreach (var item in result.Data) { ((StreamDataItem <T>)item.Data).Group = this; items.Add((StreamDataItem <T>)item.Data); } return(items); }
public async ValueTask <List <StreamDataItem <T> > > Read(int?block, int?count, string start = null) { StreamDataReceive <T> receiver = new StreamDataReceive <T>(); Commands.XREAD cmd = new Commands.XREAD(Name); cmd.NetworkReceive = receiver.Receive; cmd.DataFormater = mDB.DataFormater; cmd.Block = block; cmd.Count = count; cmd.Start = start; var result = await mDB.Execute(cmd, typeof(T)); result.Throw(); List <StreamDataItem <T> > items = new List <StreamDataItem <T> >(); foreach (var item in result.Data) { ((StreamDataItem <T>)item.Data).Stream = this; items.Add((StreamDataItem <T>)item.Data); } return(items); }