Files
upstream-centrifugo/internal/redisqueue/xautoclaim.go
upstream-mirror b352a9a30d
Some checks failed
test / Lint (push) Failing after 3s
test / Test with Go 1.26.8 (push) Failing after 2s
snapshot of https://github.com/centrifugal/centrifugo.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:17:21 +05:00

37 lines
764 B
Go

package redisqueue
import (
"fmt"
"github.com/redis/rueidis"
)
type XAutoClaimCmd struct {
err error
start string
val []rueidis.XRangeEntry
}
func NewXAutoClaimCmd(res rueidis.RedisResult) *XAutoClaimCmd {
arr, err := res.ToArray()
if err != nil {
return &XAutoClaimCmd{err: err}
}
if len(arr) < 2 {
return &XAutoClaimCmd{err: fmt.Errorf("got %d, wanted 2", len(arr))}
}
start, err := arr[0].ToString()
if err != nil {
return &XAutoClaimCmd{err: err}
}
ranges, err := arr[1].AsXRange()
if err != nil {
return &XAutoClaimCmd{err: err}
}
return &XAutoClaimCmd{val: ranges, start: start, err: err}
}
func (cmd *XAutoClaimCmd) Result() (messages []rueidis.XRangeEntry, start string, err error) {
return cmd.val, cmd.start, cmd.err
}