@startuml namespace encoding { class VarCodec << (S,Aquamarine) >> { + Ptr int + Size int - encodeNVarInt(buffer []byte, value int64) error - decodeNVarInt(buffer []byte, value *int64) error - encodePVarInt(buffer []byte, value int64) error - decodePVarInt(buffer []byte, value *int64) error - encodeVarFloat(buffer []byte, bits uint64, width int) error - decodeVarFloat(buffer []byte, bits *uint64, width int) error - sizeOfGap(width int) (int, int) + EncodeNVarInt32(buffer []byte, value int32) error + DecodeNVarInt32(buffer []byte, value *int32) error + EncodeNVarUInt32(buffer []byte, value uint32) error + DecodeNVarUInt32(buffer []byte, value *uint32) error + EncodeNVarInt64(buffer []byte, value int64) error + DecodeNVarInt64(buffer []byte, value *int64) error + EncodeNVarUInt64(buffer []byte, value uint64) error + DecodeNVarUInt64(buffer []byte, value *uint64) error + EncodePVarBool(buffer []byte, value bool) error + DecodePVarBool(buffer []byte, value *bool) error + EncodePVarInt32(buffer []byte, value int32) error + DecodePVarInt32(buffer []byte, value *int32) error + EncodePVarUInt32(buffer []byte, value uint32) error + DecodePVarUInt32(buffer []byte, value *uint32) error + EncodePVarInt64(buffer []byte, value int64) error + DecodePVarInt64(buffer []byte, value *int64) error + EncodePVarUInt64(buffer []byte, value uint64) error + DecodePVarUInt64(buffer []byte, value *uint64) error + EncodeVarFloat32(buffer []byte, value float32) error + DecodeVarFloat32(buffer []byte, value *float32) error + EncodeVarFloat64(buffer []byte, value float64) error + DecodeVarFloat64(buffer []byte, value *float64) error } } @enduml