FAQ

Which template version should encoder and decoder use?

Both sides should use the same schema version, or compatible versions. If versions differ, verify sinceVersion and field compatibility rules before production rollout.

Why does decode(...) return null?

Most common reason is insufficient bytes in the input buffer. Read more data and retry from the same offset.

How can I avoid exceptions for optional fields?

Use tryGet* methods (tryGetInt, tryGetString, and similar). These methods return success flag and avoid exception-driven flow.

Should I enable value range checks in production?

Enable checks for integration tests and high-safety flows. Disable checks only when latency is critical and input data is trusted.

How do I process custom message-header fields?

Use virtual fields or stateless custom composites. Standard header fields are handled automatically by the decoder.