You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need to clarify the error handling and assumption in MessageCodec[A] implementations
MessageCodec.unpack should proceed the cursor as least by one regardless whether the input MessagePack Value can be parsed as A or not
If the input MessagePack value can be parsed as A, move forward the cursor and call MessageContext.setXXX.
If the input MessagePack value cannot be encoded into A, skip reading the value (by proceeding the cursor) and call MessageContext.setNil, setError, setIncompatibleFormatError to report parsing failure.
Enforcing these rules may make the implementation complicated (especially handling unknown exceptions), so in this case we need to introduce a common error handling method which preserve the initial cursor position in MessagePack buffer. If any error is found, rollback the cursor and skip the input value.
The text was updated successfully, but these errors were encountered:
A second thought about this problem is instead of supporting streaming support, airframe-coded should focus on managing the small sizes of data like gRPC/protocol buffer. This will simplify the design a lot.
We need to clarify the error handling and assumption in MessageCodec[A] implementations
Enforcing these rules may make the implementation complicated (especially handling unknown exceptions), so in this case we need to introduce a common error handling method which preserve the initial cursor position in MessagePack buffer. If any error is found, rollback the cursor and skip the input value.
The text was updated successfully, but these errors were encountered: