| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Package rec_val -- запись KV-хранилища.
- package rec_val
- import (
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev2/lsi/store_ent/store_key"
- )
- // IRecVal -- значение записи.
- type IRecVal interface {
- // Key -- возвращает ключ
- Key() store_key.IStoreKeyFix
- // Val -- возвращает значение
- Val() []byte
- }
- var (
- hassert = helpers.Hassert
- )
- // RecVal -- запись KV-хранилища.
- //
- // Запись в файле значений бакета лежит
- // в виде JSON-строки, без форматирования для того,
- // чтобы можно было файл значений бакета писать построчно.
- type RecVal struct {
- Key_ store_key.AStoreKey `json:"key"` // Ключ
- Val_ []byte `json:"val"` // Значение
- }
- // NewRecVal -- создание нового значения KV-хранилища.
- func NewRecVal(key store_key.IStoreKeyFix, val []byte) *RecVal {
- hassert(key != nil, "NewRecVal: key is empty")
- if val == nil {
- val = []byte{}
- }
- sf := &RecVal{
- Key_: key.Get(),
- Val_: val,
- }
- _ = IRecVal(sf)
- return sf
- }
- // Key -- ключ.
- func (sf *RecVal) Key() store_key.IStoreKeyFix {
- return store_key.NewStoreKey(sf.Key_)
- }
- // Val -- значение.
- func (sf *RecVal) Val() []byte {
- return sf.Val_
- }
|