use StreamFilter instead of Duplex
add nhz.io-stream-filter dependency