fixed kv errors

This commit is contained in:
ston1th 2021-03-07 14:04:06 +01:00
commit ab12dd67d4
4 changed files with 16 additions and 15 deletions

View file

@ -1,20 +1,14 @@
package raft
import (
"errors"
"strings"
"sync"
"git.giftfish.de/ston1th/haproxy-lb/pkg/cluster"
"git.giftfish.de/ston1th/raftbbolt/msgpack"
"github.com/hashicorp/raft"
)
var (
ErrNotLeader = errors.New("raft: not leader")
ErrKeyNotFound = errors.New("raft: key not found")
ErrPrefixNotFound = errors.New("raft: prefix not found")
)
type kvm map[string][]byte
type kv struct {
@ -28,7 +22,7 @@ func (kv *kv) Get(k string) ([]byte, error) {
defer kv.mu.Unlock()
v, ok := kv.m[k]
if !ok {
return nil, ErrKeyNotFound
return nil, cluster.ErrKeyNotFound
}
return v, nil
}
@ -43,14 +37,14 @@ func (kv *kv) GetPrefix(pk string) (m map[string][]byte, err error) {
}
}
if len(m) == 0 {
err = ErrPrefixNotFound
err = cluster.ErrPrefixNotFound
}
return
}
func (kv *kv) Set(k string, v []byte) error {
if kv.r.State() != raft.Leader {
return ErrNotLeader
return cluster.ErrNotLeader
}
c := &raftCmd{SET, k, v}
@ -66,7 +60,7 @@ func (kv *kv) Set(k string, v []byte) error {
// Delete deletes the given key.
func (kv *kv) Delete(k string) error {
if kv.r.State() != raft.Leader {
return ErrNotLeader
return cluster.ErrNotLeader
}
c := &raftCmd{Op: DELETE, K: k}