TheNeuralBit commented on a change in pull request #12426: URL: https://github.com/apache/beam/pull/12426#discussion_r463308917
########## File path: sdks/python/apache_beam/coders/coder_impl.py ########## @@ -530,6 +530,88 @@ def estimate_size(self, unused_value, nested=False): return 1 +class MapCoderImpl(StreamCoderImpl): + """For internal use only; no backwards-compatibility guarantees. + + A coder for typing.Mapping objects.""" + def __init__( + self, + key_coder, # type: CoderImpl + value_coder # type: CoderImpl + ): + self._key_coder = key_coder + self._value_coder = value_coder + + def encode_to_stream(self, value, out, nested): + size = len(value) + out.write_bigendian_int32(size) + for i, kv in enumerate(value.items()): + key, value = kv + last = i == size - 1 Review comment: Same comment as above, this was just an attempt to replicate the Java logic. I could change them both if you think we should ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org