private Action <long> MakePinger(DataViewRow input, SrCnnStateBase state)
            {
                _host.AssertValue(input);
                var           srcGetter = input.GetGetter <TInput>(input.Schema[_inputColumnIndex]);
                Action <long> pinger    = (long rowPosition) =>
                {
                    TInput src = default;
                    srcGetter(ref src);
                    state.UpdateState(ref src, rowPosition, _parent.WindowSize > 0);
                };

                return(pinger);
            }
            private Action <PingerArgument> MakePinger(DataViewRow input, SrCnnStateBase state)
            {
                _host.AssertValue(input);
                var srcGetter = input.GetGetter <TInput>(input.Schema[_inputColumnIndex]);
                Action <PingerArgument> pinger = (PingerArgument args) =>
                {
                    if (args.DontConsumeSource)
                    {
                        return;
                    }

                    TInput src = default;
                    srcGetter(ref src);
                    state.UpdateState(ref src, args.RowPosition, _parent.WindowSize > 0);
                };

                return(pinger);
            }