Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }