#ifndef NULLSINK_HPP
#define NULLSINK_HPP

#pragma once

#include <Block.hpp>

template <typename T>
class NullSink : public Block
{
public:
	NullSink<T>(size_t bufSize)
	: Block(1, 0)
	, m_buf_in(bufSize)
	{

	}

	virtual ~NullSink() = default;

	void process() override
	{
		process(m_buf_in);
	}

	void process(Buffer<T> &in)
	{
		in.print("NullSink: ");
		in.consume(in.len());
	}

	IBuffer* buffer()
	{
		return &m_buf_in;
	} 

private:
	Buffer<T> m_buf_in;

};

#endif