Этот коммит содержится в:
Christopher Speller
2018-01-29 14:17:40 -08:00
коммит произвёл GitHub
родитель 8d66523ba7
Коммит 961c04cae9
1508 изменённых файлов: 182081 добавлений и 24688 удалений

8
vendor/github.com/go-redis/redis/internal/hashtag/hashtag.go сгенерированный поставляемый
Просмотреть файл

@@ -55,13 +55,17 @@ func Key(key string) string {
return key
}
func RandomSlot() int {
return rand.Intn(SlotNumber)
}
// hashSlot returns a consistent slot number between 0 and 16383
// for any given string key.
func Slot(key string) int {
key = Key(key)
if key == "" {
return rand.Intn(SlotNumber)
return RandomSlot()
}
key = Key(key)
return int(crc16sum(key)) % SlotNumber
}

5
vendor/github.com/go-redis/redis/internal/proto/scan.go сгенерированный поставляемый
Просмотреть файл

@@ -123,8 +123,9 @@ func ScanSlice(data []string, slice interface{}) error {
next := internal.MakeSliceNextElemFunc(v)
for i, s := range data {
elem := next()
if err := Scan(internal.StringToBytes(s), elem.Addr().Interface()); err != nil {
return fmt.Errorf("redis: ScanSlice(index=%d value=%q) failed: %s", i, s, err)
if err := Scan([]byte(s), elem.Addr().Interface()); err != nil {
err = fmt.Errorf("redis: ScanSlice index=%d value=%q failed: %s", i, s, err)
return err
}
}

4
vendor/github.com/go-redis/redis/internal/safe.go сгенерированный поставляемый
Просмотреть файл

@@ -5,7 +5,3 @@ package internal
func BytesToString(b []byte) string {
return string(b)
}
func StringToBytes(s string) []byte {
return []byte(s)
}

19
vendor/github.com/go-redis/redis/internal/unsafe.go сгенерированный поставляемый
Просмотреть файл

@@ -3,25 +3,10 @@
package internal
import (
"reflect"
"unsafe"
)
// BytesToString converts byte slice to string.
func BytesToString(b []byte) string {
bytesHeader := (*reflect.SliceHeader)(unsafe.Pointer(&b))
strHeader := reflect.StringHeader{
Data: bytesHeader.Data,
Len: bytesHeader.Len,
}
return *(*string)(unsafe.Pointer(&strHeader))
}
func StringToBytes(s string) []byte {
sh := (*reflect.StringHeader)(unsafe.Pointer(&s))
bh := reflect.SliceHeader{
Data: sh.Data,
Len: sh.Len,
Cap: sh.Len,
}
return *(*[]byte)(unsafe.Pointer(&bh))
return *(*string)(unsafe.Pointer(&b))
}