Hi Gerel. I think I know why it's not reaching there. It's particular to RL and we may see this behavior in other filters too.
The thing is this, when you ask the filter to read N bytes, as soon as you get the N bytes the apply() function isn't called anymore, leaving in this case the EOD marker. Other filters may actually need and look for the trailing character in order to finish the decoding process, but the RL doesn't need it to decode data. It is ok then. The behaviour of the implementation is as expected. Could you write a little unit test to consume the EOD marker?
