-------------------------------
()
| 460 | // ------------------------------- |
| 461 | |
| 462 | func (r *Reader) ReadInt() (int64, error) { |
| 463 | line, err := r.ReadLine() |
| 464 | if err != nil { |
| 465 | return 0, err |
| 466 | } |
| 467 | switch line[0] { |
| 468 | case RespInt, RespStatus: |
| 469 | return util.ParseInt(line[1:], 10, 64) |
| 470 | case RespString: |
| 471 | s, err := r.readStringReply(line) |
| 472 | if err != nil { |
| 473 | return 0, err |
| 474 | } |
| 475 | return util.ParseInt([]byte(s), 10, 64) |
| 476 | case RespBigInt: |
| 477 | b, err := r.readBigInt(line) |
| 478 | if err != nil { |
| 479 | return 0, err |
| 480 | } |
| 481 | if !b.IsInt64() { |
| 482 | return 0, fmt.Errorf("bigInt(%s) value out of range", b.String()) |
| 483 | } |
| 484 | return b.Int64(), nil |
| 485 | } |
| 486 | return 0, fmt.Errorf("redis: can't parse int reply: %.100q", line) |
| 487 | } |
| 488 | |
| 489 | func (r *Reader) ReadUint() (uint64, error) { |
| 490 | line, err := r.ReadLine() |
no test coverage detected