import (
"fmt"
- "git.fd.io/govpp.git/adapter"
"sync/atomic"
"time"
"unsafe"
+
+ "git.fd.io/govpp.git/adapter"
)
var (
//
// Note that if the index is equal to 0, the result pointer points to
// the same memory address as the argument.
- GetStatDirOnIndex(v dirVector, index uint32) (dirSegment, dirName, dirType)
+ GetStatDirOnIndex(v dirVector, index uint32) (dirSegment, dirName, adapter.StatType)
// GetEpoch re-loads stats header and returns current epoch
//and 'inProgress' value
},
Type: t,
Data: d,
- Symlink: adapter.StatType(dirType) == adapter.Symlink,
+ Symlink: dirType == adapter.Symlink,
})
}
return entries, nil
dirPtr, dirName, dirType := sc.GetStatDirOnIndex(vector, entry.Index)
if len(dirName) == 0 ||
!bytes.Equal(dirName, entry.Name) ||
- adapter.StatType(dirType) != entry.Type ||
+ dirType != entry.Type ||
entry.Data == nil {
return nil
}
return nil, fmt.Errorf("error vector is not defined for stats API v1")
}
-func (ss *statSegmentV1) GetStatDirOnIndex(v dirVector, index uint32) (dirSegment, dirName, dirType) {
+func (ss *statSegmentV1) GetStatDirOnIndex(v dirVector, index uint32) (dirSegment, dirName, adapter.StatType) {
statSegDir := dirSegment(uintptr(v) + uintptr(index)*unsafe.Sizeof(statSegDirectoryEntryV1{}))
dir := (*statSegDirectoryEntryV1)(statSegDir)
var name []byte
break
}
}
- return statSegDir, name, dir.directoryType
+ return statSegDir, name, getStatType(dir.directoryType, true)
}
func (ss *statSegmentV1) GetEpoch() (int64, bool) {
return ss.adjust(dirVector(&header.dirVector))
}
-func (ss *statSegmentV2) GetStatDirOnIndex(v dirVector, index uint32) (dirSegment, dirName, dirType) {
+func (ss *statSegmentV2) GetStatDirOnIndex(v dirVector, index uint32) (dirSegment, dirName, adapter.StatType) {
statSegDir := dirSegment(uintptr(v) + uintptr(index)*unsafe.Sizeof(statSegDirectoryEntryV2{}))
dir := (*statSegDirectoryEntryV2)(statSegDir)
var name []byte
break
}
}
- return statSegDir, name, dir.directoryType
+ return statSegDir, name, getStatType(dir.directoryType, ss.getErrorVector() != nil)
}
func (ss *statSegmentV2) GetEpoch() (int64, bool) {