Skip to content

Commit

Permalink
修正支持0字节数据问题
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangnaiguo committed Jul 18, 2023
1 parent a9c62bd commit d8eafeb
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 25 deletions.
8 changes: 6 additions & 2 deletions ssdbclient/connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -264,10 +264,14 @@ func index(pos, size int, c byte, bs []byte) int {
// 第三层,读取数据,一个长度一个内容
func (c *connection) parseData(n int) (end bool, err error) {
if c.dataSize == 0 {
c.dataSize = toNum(c.rsp[c.pos:n])
if c.dataSize == 0 {
if c.pos == n {
return true, nil
}
ds, e := strconv.Atoi(string(c.rsp[c.pos:n]))
if e != nil {
return false, e
}
c.dataSize = ds
c.nextPos = n + delim + c.dataSize + delim
}

Expand Down
19 changes: 0 additions & 19 deletions ssdbclient/number_byte.go

This file was deleted.

45 changes: 41 additions & 4 deletions ssdbclient/ssdb_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package ssdbclient

import (
"encoding/json"
"strconv"
"testing"
"time"

Expand Down Expand Up @@ -223,7 +224,7 @@ func TestSSDBClient_pwd(t *testing.T) {
}
func TestSSDBClient_getBig(t *testing.T) {
cfg := &conf.Config{
Host: "afcm222",
Host: "127.0.0.1",
Port: 8888,
ReadBufferSize: 8,
WriteBufferSize: 8,
Expand All @@ -245,7 +246,7 @@ func TestSSDBClient_getBig(t *testing.T) {
//}
//for i := 0; i < 1000; i++ {
if v, err := c.Do("hget", "app:0", "1359003378"); err == nil {
t.Log(len(v[1]))
t.Log(v)
} else {
t.Error(err)
}
Expand All @@ -256,7 +257,7 @@ func TestSSDBClient_getBig(t *testing.T) {
}
func TestSSDBClient_getScan(t *testing.T) {
cfg := &conf.Config{
Host: "afcm222",
Host: "127.0.0.1",
Port: 8888,
ReadBufferSize: 8,
WriteBufferSize: 8,
Expand All @@ -276,7 +277,7 @@ func TestSSDBClient_getScan(t *testing.T) {
}
func TestSSDBClient_multiget(t *testing.T) {
cfg := &conf.Config{
Host: "afcm222",
Host: "127.0.0.1",
Port: 8888,
ReadBufferSize: 8,
WriteBufferSize: 8,
Expand All @@ -294,3 +295,39 @@ func TestSSDBClient_multiget(t *testing.T) {
}

}
func TestSSDBClient_nil(t *testing.T) {
cfg := &conf.Config{
Host: "127.0.0.1",
Port: 8888,
ReadBufferSize: 8,
WriteBufferSize: 8,
ReadTimeout: 300,
}
c := NewSSDBClient(cfg.Default())
if err := c.Start(); err != nil {
t.Fatal(err)
}
defer c.Close()
if v, err := c.Do("set", "test_nil", nil); err == nil {
t.Log(v)
} else {
t.Error(err)
}
if v, err := c.Do("get", "test_nil"); err == nil {
t.Log(v)
} else {
t.Error(err)
}
}

func BenchmarkConnectors_conv(b *testing.B) {
ns := []string{"1283221", "3132", "32331", "92847", "9863232", "93712"}
b.SetParallelism(10)
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
for i := range ns {
strconv.Atoi(ns[i])
}
}
})
}

0 comments on commit d8eafeb

Please sign in to comment.