1
0
mirror of https://github.com/fumiama/go-registry.git synced 2026-06-12 04:20:24 +08:00

add ack cmd type

This commit is contained in:
源文雨
2022-04-17 17:10:58 +08:00
parent 892dc502b4
commit 2c62a8ecf3
5 changed files with 31 additions and 22 deletions

20
reg.go
View File

@@ -107,10 +107,10 @@ func (r *Regedit) Get(key string) (string, error) {
return "", ErrDecAck
}
a := string(p.data)
if a == "erro" {
if a == "erro" && p.cmd == ACKERRO {
return "", ErrInternalServer
}
if a == "null" {
if a == "null" && p.cmd == ACKNULL {
return "", ErrNoSuchKey
}
return a, nil
@@ -145,10 +145,10 @@ func (r *Regedit) Set(key, value string) error {
return ErrDecAck
}
a := BytesToString(ack.data)
if a == "erro" {
if a == "erro" || ack.cmd == ACKERRO {
return ErrInternalServer
}
if a != "data" {
if a != "data" && ack.cmd != ACKDATA {
return ErrUnknownAck
}
p.Refresh(CMDDAT, StringToBytes(value), r.ts)
@@ -167,10 +167,10 @@ func (r *Regedit) Set(key, value string) error {
return ErrDecAck
}
a = BytesToString(ack.data)
if a == "erro" {
if a == "erro" || ack.cmd == ACKERRO {
return ErrInternalServer
}
if a != "succ" {
if a != "succ" && ack.cmd != ACKSUCC {
return ErrUnknownAck
}
return nil
@@ -202,20 +202,20 @@ func (r *Regedit) Del(key string) error {
return ErrDecAck
}
a := BytesToString(ack.data)
if a == "erro" {
if a == "erro" || ack.cmd == ACKERRO {
return ErrInternalServer
}
if a == "null" {
if a == "null" || ack.cmd == ACKNULL {
return ErrNoSuchKey
}
if a != "succ" {
if a != "succ" && ack.cmd != ACKSUCC {
return ErrUnknownAck
}
return nil
}
func (r *Regedit) ack(c *CmdPacket) error {
// c.ClearData()
c.cmd = 0
_, err := io.Copy(c, r.conn)
return err
}