error message
Test / testing (1.19.13, ubuntu-latest) (push) Failing after 2m52s Details
Test / testing (>=1.20, ubuntu-latest) (push) Failing after 1m20s Details

This commit is contained in:
Akvicor 2024-03-12 00:02:13 +08:00
parent 43eb39a7ad
commit 83e1b54acc
2 changed files with 5 additions and 16 deletions

8
go.sum
View File

@ -1,12 +1,4 @@
git.viry.cc/gomod/glog v0.1.5 h1:FsZkGyjX5Y2uKU7GSPpw8lVHz0lPEkhEuwDlBwfY3DA=
git.viry.cc/gomod/glog v0.1.5/go.mod h1:e4ndIpsVbkUwjvf/t5Gs3LJIjuJCw70r91cDGLiodqo=
git.viry.cc/gomod/glog v0.2.0 h1:WWqZj/zAuJW3m7Hh+KX/AlCPKhxT4UzHS3geXBfF0Jw=
git.viry.cc/gomod/glog v0.2.0/go.mod h1:e4ndIpsVbkUwjvf/t5Gs3LJIjuJCw70r91cDGLiodqo=
git.viry.cc/gomod/glog v0.2.1 h1:61VQS+qTKiHrOfVUMXvvYTQQk8570Uqdi4rpOSvEqOA=
git.viry.cc/gomod/glog v0.2.1/go.mod h1:e4ndIpsVbkUwjvf/t5Gs3LJIjuJCw70r91cDGLiodqo=
git.viry.cc/gomod/util v1.7.4 h1:9w235shalFzvO4GOpwKSQUr5TpBZES/OQ+IxA6UQJ8I=
git.viry.cc/gomod/util v1.7.4/go.mod h1:Xj6ihmOFklMvCRYHVACdNMbx742CehWL2d4teFMwbsY=
git.viry.cc/gomod/util v1.8.2 h1:kms9rz2zOSnyDUimzKTqHsIlgh8R8lK2Rt4+o6Bmdis=
git.viry.cc/gomod/util v1.8.2/go.mod h1:Xj6ihmOFklMvCRYHVACdNMbx742CehWL2d4teFMwbsY=
git.viry.cc/gomod/util v1.10.3 h1:sxa5U+srRyX2nvxX4dlNP9qj7LA93dNwA7kRLoD7Bp8=
git.viry.cc/gomod/util v1.10.3/go.mod h1:Xj6ihmOFklMvCRYHVACdNMbx742CehWL2d4teFMwbsY=

View File

@ -3,6 +3,7 @@ package protocol
import (
"bytes"
"errors"
"fmt"
"git.viry.cc/gomod/glog"
"git.viry.cc/gomod/util"
@ -12,10 +13,6 @@ import (
var prefix = [headLengthPrefix]uint8{0xff, 0x07, 0x55, 0x00}
var ErrorPackageIncomplete = errors.New("package incomplete")
var ErrorUnsupportedVersion = errors.New("unsupported version")
var ErrorWrongPrefix = errors.New("prefix does not match")
var ErrorBrokenHead = errors.New("head crc32 checksum does not match")
var ErrorBrokenData = errors.New("data crc32 checksum does not match")
// head中各部分的长度
const (
@ -199,7 +196,7 @@ func parsePackage(buf *bytes.Buffer) (*protocolPackage, error) {
if buf.Bytes()[headOffsetVersion] != VERSION {
glog.Trace("[protocol_package] unsupported version need %d got %d", VERSION, buf.Bytes()[headOffsetVersion])
nextPackageHead(buf)
return nil, ErrorUnsupportedVersion
return nil, fmt.Errorf("unsupported version need %d got %d", VERSION, buf.Bytes()[headOffsetVersion])
}
// 开始判断是否为package并提取package
if buf.Len() < packageHeadSize {
@ -212,7 +209,7 @@ func parsePackage(buf *bytes.Buffer) (*protocolPackage, error) {
if !bytes.Equal(prefix[:], head[headOffsetPrefix:headOffsetPrefix+headLengthPrefix]) {
glog.Trace("[protocol_package] prefix does not match, need %v got %v", prefix, head[headOffsetPrefix:headOffsetPrefix+headLengthPrefix])
nextPackageHead(buf)
return nil, ErrorWrongPrefix
return nil, fmt.Errorf("prefix does not match, need %v got %v", prefix, head[headOffsetPrefix:headOffsetPrefix+headLengthPrefix])
}
// 检查head是否完整删除未知数据寻找下一个package起始位置
headChecksum := util.BytesSliceToUInt32(head[headOffsetCRC32Checksum : headOffsetCRC32Checksum+headLengthCRC32Checksum])
@ -220,7 +217,7 @@ func parsePackage(buf *bytes.Buffer) (*protocolPackage, error) {
if headChecksum != headCrc32 {
glog.Trace("[protocol_package] head crc32 checksum does not match, need %d got %d", headChecksum, headCrc32)
nextPackageHead(buf)
return nil, ErrorBrokenHead
return nil, fmt.Errorf("head crc32 checksum does not match, need %d got %d", headChecksum, headCrc32)
}
// 检查package是否完整不完整则等待
packageDataSize := util.BytesSliceToUInt32(head[headOffsetDataSize : headOffsetDataSize+headLengthDataSize])
@ -254,7 +251,7 @@ func parsePackage(buf *bytes.Buffer) (*protocolPackage, error) {
if pkg.dataCrc32 != dataCrc32 {
glog.Trace("[protocol_package] data crc32 checksum does not match, need %d got %d", pkg.dataCrc32, dataCrc32)
nextPackageHead(buf)
return nil, ErrorBrokenData
return nil, fmt.Errorf("data crc32 checksum does not match, need %d got %d", pkg.dataCrc32, dataCrc32)
}
return pkg, nil
}