The name of the parameter is misleading, because it's actually an out parameter (should be called `r_buffer`).
So what the function does is reading up to the point it finds the boundary expected (which with the `MCBoudaryReader` has been initialised).