Skip to content

Commit

Permalink
refine mem
Browse files Browse the repository at this point in the history
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
  • Loading branch information
wjhuang2016 committed Jul 13, 2023
1 parent 81e0f16 commit b03852e
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions br/pkg/lightning/backend/sharedisk/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,29 +27,30 @@ import (
type KeyValueStore struct {
dataWriter storage.ExternalFileWriter

rc *RangePropertiesCollector
ctx context.Context
offset uint64
keyCnt uint64
rc *RangePropertiesCollector
ctx context.Context
offset uint64
keyCnt uint64
u64Buffer []byte
}

func Create(ctx context.Context, dataWriter storage.ExternalFileWriter) (*KeyValueStore, error) {
kvStore := &KeyValueStore{dataWriter: dataWriter, ctx: ctx}
kvStore := &KeyValueStore{dataWriter: dataWriter, ctx: ctx, u64Buffer: make([]byte, 8)}
return kvStore, nil
}

func (s *KeyValueStore) AddKeyValue(key, value []byte, writerID, seq int) error {
kvLen := len(key) + len(value) + 16

_, err := s.dataWriter.Write(s.ctx, binary.BigEndian.AppendUint64(nil, uint64(len(key))))
_, err := s.dataWriter.Write(s.ctx, binary.BigEndian.AppendUint64(s.u64Buffer[:0], uint64(len(key))))
if err != nil {
return err
}
_, err = s.dataWriter.Write(s.ctx, key)
if err != nil {
return err
}
_, err = s.dataWriter.Write(s.ctx, binary.BigEndian.AppendUint64(nil, uint64(len(value))))
_, err = s.dataWriter.Write(s.ctx, binary.BigEndian.AppendUint64(s.u64Buffer[:0], uint64(len(value))))
if err != nil {
return err
}
Expand Down

0 comments on commit b03852e

Please sign in to comment.