chyezh 3563136c2a
enhance: timetick interceptor implementation (#34238)
issue: #33285

- optimize the message package
- add interceptor package to achieve append operation intercepting.
- add timetick interceptor to attach timetick properties for message.
- add timetick background task to send timetick message.

Signed-off-by: chyezh <chyezh@outlook.com>
2024-07-02 14:42:08 +08:00

30 lines
528 B
Go

package message
import "strconv"
var (
VersionOld Version = 0 // old version before streamingnode.
VersionV1 Version = 1
)
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
}