Zhen Ye 0988807160
enhance: enable write ahead buffer for streaming service (#39771)
issue: #38399

- Make a timetick-commit-based write ahead buffer at write side.
- Add a switchable scanner at read side to transfer the state between
catchup and tailing read

Signed-off-by: chyezh <chyezh@outlook.com>
2025-02-12 20:38:46 +08:00

35 lines
722 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
}
func (v Version) EQ(v2 Version) bool {
return v == v2
}