MCPcopy
hub / github.com/CodisLabs/codis / GetHset

Method GetHset

extern/deprecated/redis-test/utils.go:448–475  ·  view source on GitHub ↗
(c *Conn)

Source from the content-addressed store, hash-verified

446}
447
448func (u *Unit) GetHset(c *Conn) {
449 var rsp interface{}
450 defer func() {
451 if x := recover(); x != nil {
452 Panic("hgetall: c = %s, key = '%s', error = '%s', rsp = %v", c.Addr(), u.key, x, rsp)
453 }
454 }()
455 switch u.val.(type) {
456 default:
457 panic("not a hset")
458 case map[string]string:
459 }
460 var err error
461 if rsp, err = c.Do("hgetall", u.key); err != nil {
462 panic(err)
463 }
464 m := u.val.(map[string]string)
465 as := c.Values(rsp, len(m)*2)
466 r := make(map[string]string)
467 for i := 0; i < len(as); i += 2 {
468 r[c.String(as[i])] = c.String(as[i+1])
469 }
470 for k, v := range m {
471 if r[k] != v {
472 panic(fmt.Sprintf("key = %s, return = %s, expect = %s", k, r[k], v))
473 }
474 }
475}
476
477type UnitSlice []*Unit
478

Callers 1

playerMethod · 0.80

Calls 5

ValuesMethod · 0.80
PanicFunction · 0.70
AddrMethod · 0.45
DoMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected