Darien Raymond 8 лет назад
Родитель
Сommit
31a21bef08
1 измененных файлов с 22 добавлено и 24 удалено
  1. 22 24
      common/uuid/uuid.go

+ 22 - 24
common/uuid/uuid.go

@@ -5,6 +5,7 @@ import (
 	"crypto/md5"
 	"crypto/rand"
 	"encoding/hex"
+
 	"v2ray.com/core/common/errors"
 )
 
@@ -15,53 +16,50 @@ var (
 type UUID [16]byte
 
 // String returns the string representation of this UUID.
-func (v *UUID) String() string {
-	return bytesToString(v.Bytes())
+func (u *UUID) String() string {
+	bytes := u.Bytes()
+	result := hex.EncodeToString(bytes[0 : byteGroups[0]/2])
+	start := byteGroups[0] / 2
+	for i := 1; i < len(byteGroups); i++ {
+		nBytes := byteGroups[i] / 2
+		result += "-"
+		result += hex.EncodeToString(bytes[start : start+nBytes])
+		start += nBytes
+	}
+	return result
 }
 
 // Bytes returns the bytes representation of this UUID.
-func (v *UUID) Bytes() []byte {
-	return v[:]
+func (u *UUID) Bytes() []byte {
+	return u[:]
 }
 
 // Equals returns true if this UUID equals another UUID by value.
-func (v *UUID) Equals(another *UUID) bool {
-	if v == nil && another == nil {
+func (u *UUID) Equals(another *UUID) bool {
+	if u == nil && another == nil {
 		return true
 	}
-	if v == nil || another == nil {
+	if u == nil || another == nil {
 		return false
 	}
-	return bytes.Equal(v.Bytes(), another.Bytes())
+	return bytes.Equal(u.Bytes(), another.Bytes())
 }
 
 // Next generates a deterministic random UUID based on this UUID.
-func (v *UUID) Next() *UUID {
+func (u *UUID) Next() *UUID {
 	md5hash := md5.New()
-	md5hash.Write(v.Bytes())
+	md5hash.Write(u.Bytes())
 	md5hash.Write([]byte("16167dc8-16b6-4e6d-b8bb-65dd68113a81"))
 	newid := new(UUID)
 	for {
 		md5hash.Sum(newid[:0])
-		if !newid.Equals(v) {
+		if !newid.Equals(u) {
 			return newid
 		}
 		md5hash.Write([]byte("533eff8a-4113-4b10-b5ce-0f5d76b98cd2"))
 	}
 }
 
-func bytesToString(bytes []byte) string {
-	result := hex.EncodeToString(bytes[0 : byteGroups[0]/2])
-	start := byteGroups[0] / 2
-	for i := 1; i < len(byteGroups); i++ {
-		nBytes := byteGroups[i] / 2
-		result += "-"
-		result += hex.EncodeToString(bytes[start : start+nBytes])
-		start += nBytes
-	}
-	return result
-}
-
 // New creates an UUID with random value.
 func New() *UUID {
 	uuid := new(UUID)
@@ -69,7 +67,7 @@ func New() *UUID {
 	return uuid
 }
 
-// PraseBytes converts an UUID in byte form to object.
+// ParseBytes converts an UUID in byte form to object.
 func ParseBytes(b []byte) (*UUID, error) {
 	if len(b) != 16 {
 		return nil, errors.New("Invalid UUID: ", b)