Skip to content

Commit

Permalink
Revert "allocate less and in standard size"
Browse files Browse the repository at this point in the history
This reverts commit 3e38256.
  • Loading branch information
Termina1 committed Jan 8, 2025
1 parent dac4fe5 commit dac0e89
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 35 deletions.
17 changes: 15 additions & 2 deletions chotki.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,21 @@ func (o *Options) SetDefaults() {
}

o.Merger = &pebble.Merger{
Name: "CRDT",
Merge: PebbleAdaptorMerge,
Name: "CRDT",
Merge: func(key, value []byte) (pebble.ValueMerger, error) {
/*if len(key) != 10 {
return nil, nil
}*/
target := make([]byte, len(value))
copy(target, value)
id, rdt := OKeyIdRdt(key)
pma := PebbleMergeAdaptor{
id: id,
rdt: rdt,
vals: [][]byte{target},
}
return &pma, nil
},
}

if o.Logger == nil {
Expand Down
40 changes: 7 additions & 33 deletions merge.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"io"
"slices"

"github.com/cockroachdb/pebble"
"github.com/drpcorg/chotki/rdx"
)

Expand All @@ -13,42 +12,23 @@ type Merger interface {
Merge(inputs [][]byte) []byte
}

func PebbleAdaptorMerge(key, value []byte) (pebble.ValueMerger, error) {
/*if len(key) != 10 {
return nil, nil
}*/
id, rdt := OKeyIdRdt(key)
pma := PebbleMergeAdaptor{
id: id,
rdt: rdt,
vals: make([][]byte, 0, 16),
bulk: make([]byte, 0, 4096),
}
pma.AddInput(value)
return &pma, nil
}

type PebbleMergeAdaptor struct {
id rdx.ID
rdt byte
old bool
vals [][]byte
bulk []byte
}

func (a *PebbleMergeAdaptor) AddInput(input []byte) {
l := len(a.bulk)
a.bulk = append(a.bulk, input...)
copy(a.bulk[l:], input)
a.vals = append(a.vals, a.bulk[l:])
}

func (a *PebbleMergeAdaptor) MergeNewer(value []byte) error {
a.AddInput(value)
target := make([]byte, len(value))
copy(target, value)
a.vals = append(a.vals, target)
return nil
}
func (a *PebbleMergeAdaptor) MergeOlder(value []byte) error {
a.AddInput(value)
target := make([]byte, len(value))
copy(target, value)
a.vals = append(a.vals, target)
a.old = true
return nil
}
Expand All @@ -62,11 +42,5 @@ func (a *PebbleMergeAdaptor) Finish(includesBase bool) (res []byte, cl io.Closer
return nil, nil, nil
}
res = rdx.Xmerge(a.rdt, inputs)
return res, a, nil
}

func (a *PebbleMergeAdaptor) Close() error {
a.vals = nil
a.bulk = nil
return nil
return res, nil, nil
}

0 comments on commit dac0e89

Please sign in to comment.