From a13b0a9f5ea78270c4c614865407442748e349be Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 18 十月 2022 12:52:51 +0800
Subject: [PATCH] fix armv7 init
---
api.go | 46 +++++++++++++++++++++++++++++++++++-----------
1 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/api.go b/api.go
index dc73a4f..6da586f 100644
--- a/api.go
+++ b/api.go
@@ -1,18 +1,20 @@
package boltcache
+import "strconv"
+
//娣诲姞涓�鏉℃棩蹇�
func (ls *LogStore) ApplyLog(logData []byte) {
lastLogIndex := ls.getLastLog()
- ls.applyCh <- &Log {
- Index: lastLogIndex+1,
- Data: logData,
+ ls.applyCh <- &Log{
+ Index: lastLogIndex + 1,
+ Data: logData,
}
ls.setLastLog(lastLogIndex + 1)
}
type LogCon struct {
conf *confLog
- Log *Log
+ Log *Log
}
//鑾峰彇缂撳瓨鐨勬暟鎹�
@@ -24,21 +26,21 @@
func (ls *LogStore) Get() *LogCon {
idx, _ := ls.store.FirstIndex(confBucket)
cLog := &confLog{}
- if err := ls.store.GetConfLog(idx, cLog);err ==nil {
+ if err := ls.store.GetConfLog(idx, cLog); err == nil {
u, _ := ls.store.FirstIndex(cLog.BucketName)
log := &Log{}
- if err = ls.store.GetLog(cLog.BucketName, u, log);err ==nil {
+ if err = ls.store.GetLog(cLog.BucketName, u, log); err == nil {
log.Index = u
cLog.Index = int(idx)
return &LogCon{
- conf:cLog,
- Log: log,
+ conf: cLog,
+ Log: log,
}
} else {
- if size,_ := ls.store.Size(confBucket);size >1 {
+ if size, _ := ls.store.Size(confBucket); size > 1 {
ls.Delete(&LogCon{
conf: cLog,
- Log: nil,
+ Log: nil,
})
}
ls.printLog("Get log err:", err)
@@ -49,6 +51,28 @@
return nil
}
+// 閬嶅巻鏁版嵁, 杈撳嚭鍘熷鏁版嵁
+func (ls *LogStore) ForEach(f func(v *LogCon) error) error {
+ return ls.store.ForEach(f)
+}
+
+func (ls *LogStore) Size() int {
+ start, _ := ls.store.FirstIndex(confBucket)
+ end, _ := ls.store.LastIndex(confBucket)
+
+ totalSize := 0
+
+ for ; start <= end; start++ {
+ bucketName := bucketPre + strconv.Itoa(int(start))
+ bucketSize, err := ls.store.Size(bucketName)
+ if err == nil {
+ totalSize = totalSize + bucketSize
+ }
+ }
+
+ return totalSize
+}
+
//鎻愪緵缁欏灞備娇鐢紝鍒犻櫎鏃ュ織
func (ls *LogStore) Delete(lc *LogCon) error {
return ls.store.Delete(lc)
@@ -56,4 +80,4 @@
func (ls *LogStore) Close() error {
return ls.store.Close()
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0