Zhen Ye 4d69898cb2
enhance: support single pchannel level transaction (#35289)
issue: #33285

- support transaction on single wal.
- last confirmed message id can still be used when enable transaction.
- add fence operation for segment allocation interceptor.

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2024-08-19 21:22:56 +08:00

31 lines
664 B
Go

package message
import "strconv"
var (
VersionOld Version = 0 // old version before streamingnode.
VersionV1 Version = 1 // The message marshal unmarshal still use msgstream.
VersionV2 Version = 2 // The message marshal unmarshal never rely on msgstream.
)
type Version int // message version for compatibility.
func newMessageVersionFromString(s string) Version {
if s == "" {
return VersionOld
}
v, err := strconv.ParseInt(s, 10, 64)
if err != nil {
panic("unexpected message version")
}
return Version(v)
}
func (v Version) String() string {
return strconv.FormatInt(int64(v), 10)
}
func (v Version) GT(v2 Version) bool {
return v > v2
}