X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=adapter%2Fstatsclient%2Fstatseg_v1.go;h=38f51bd1594b82a7647cd3c09d1af00b64201dd5;hb=4e16c7100cc7f8dddca051ff393460d7a1a77c98;hp=a02c7acbbac3a0f9dc8050679c1cba40df450786;hpb=1a1f4043dfae2e77de70d6adfbb8d84cdeed658d;p=govpp.git diff --git a/adapter/statsclient/statseg_v1.go b/adapter/statsclient/statseg_v1.go index a02c7ac..38f51bd 100644 --- a/adapter/statsclient/statseg_v1.go +++ b/adapter/statsclient/statseg_v1.go @@ -66,9 +66,9 @@ func (ss *statSegmentV1) loadSharedHeader(b []byte) (header sharedHeaderV1) { } } -func (ss *statSegmentV1) GetDirectoryVector() (unsafe.Pointer, error) { +func (ss *statSegmentV1) GetDirectoryVector() unsafe.Pointer { dirOffset, _, _ := ss.getOffsets() - return unsafe.Pointer(&ss.sharedHeader[dirOffset]), nil + return unsafe.Pointer(&ss.sharedHeader[dirOffset]) } func (ss *statSegmentV1) GetErrorVector() (unsafe.Pointer, error) { @@ -113,7 +113,7 @@ func (ss *statSegmentV1) CopyEntryData(statSegDir unsafe.Pointer) adapter.Stat { _, errOffset, _ := ss.getOffsets() offsetVector := unsafe.Pointer(&ss.sharedHeader[errOffset]) - var errData adapter.Counter + var errData []adapter.Counter vecLen := *(*uint32)(vectorLen(offsetVector)) for i := uint32(0); i < vecLen; i++ { @@ -121,7 +121,7 @@ func (ss *statSegmentV1) CopyEntryData(statSegDir unsafe.Pointer) adapter.Stat { offset := uintptr(cb) + uintptr(dirEntry.unionData)*unsafe.Sizeof(adapter.Counter(0)) debugf("error index, cb: %d, offset: %d", cb, offset) val := *(*adapter.Counter)(statSegPointer(unsafe.Pointer(&ss.sharedHeader[0]), offset)) - errData += val + errData = append(errData, val) } return adapter.ErrorStat(errData) @@ -239,14 +239,14 @@ func (ss *statSegmentV1) UpdateEntryData(statSegDir unsafe.Pointer, stat *adapte _, errOffset, _ := ss.getOffsets() offsetVector := unsafe.Pointer(&ss.sharedHeader[errOffset]) - var errData adapter.Counter + var errData []adapter.Counter vecLen := *(*uint32)(vectorLen(unsafe.Pointer(&ss.sharedHeader[errOffset]))) for i := uint32(0); i < vecLen; i++ { cb := *(*uint64)(statSegPointer(offsetVector, uintptr(i)*unsafe.Sizeof(uint64(0)))) offset := uintptr(cb) + uintptr(dirEntry.unionData)*unsafe.Sizeof(adapter.Counter(0)) val := *(*adapter.Counter)(statSegPointer(unsafe.Pointer(&ss.sharedHeader[0]), offset)) - errData += val + errData = append(errData, val) } *stat = adapter.ErrorStat(errData)