Hi, I want to quickly discuss coder semantics, specifically whether a Coder should be required to know how much data it must/should read from the input stream. Coders still have the deprecated encode()/decode() methods that take a Context that can specify whether the input stream is only one element or whether that stream contains multiple element.
My main motivation is that in Flink a TypeSerializer must know how much data it can read, it can never rely on the “remaining bytes” of the input stream to determine whether it’s finished. Currently the situation is a bit unclear, i.e. the Flink Runner only works with Coders that know when they should finish reading. Best, Aljoscha
