mirror of
https://github.com/prometheus/prometheus.git
synced 2025-02-02 08:31:11 -08:00
BinaryMarshaler instead of encodable. BinaryUnmarshaler instead of decodable. Left 'codable' in place for lack of a better word. Change-Id: I8a104be7d6db916e8dbc47ff95e6ff73b845ac22
38 lines
557 B
Go
38 lines
557 B
Go
package index
|
|
|
|
import (
|
|
"encoding"
|
|
|
|
"github.com/syndtr/goleveldb/leveldb"
|
|
)
|
|
|
|
type batch struct {
|
|
batch *leveldb.Batch
|
|
}
|
|
|
|
func (b *batch) Put(key, value encoding.BinaryMarshaler) error {
|
|
k, err := key.MarshalBinary()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
v, err := value.MarshalBinary()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
b.batch.Put(k, v)
|
|
return nil
|
|
}
|
|
|
|
func (b *batch) Delete(key encoding.BinaryMarshaler) error {
|
|
k, err := key.MarshalBinary()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
b.batch.Delete(k)
|
|
return nil
|
|
}
|
|
|
|
func (b *batch) Reset() {
|
|
b.batch.Reset()
|
|
}
|