// package rec_kv -- запись KV-хранилища. package rec_kv import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/lsi/store_ent/rec_key" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/lsi/store_ent/rec_meta" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/lsi/store_ent/rec_val" ) // IRecKvFix -- интерфейс записи KV-хранилища. type IRecKvFix interface { // Meta -- метаданные записи Meta() rec_meta.IRecMeta // Key -- ключ записи Key() rec_key.IRecKeyFix // Val -- значение записи Val() rec_val.IRecValFix } // RecKv -- запись KV-хранилища. type RecKv struct { key rec_key.IRecKeyFix // Ключ записи meta rec_meta.IRecMeta // Метаданные записи val rec_val.IRecValFix // Значение записи } // NewRecKv -- создает новую запись. func NewRecKv(key rec_key.IRecKeyFix, val rec_val.IRecValFix) *RecKv { lev0.If(key == nil).Hassert("NewRecKv(): key==nil") lev0.If(val == nil).Hassert("NewRecKv(): val==nil") meta := rec_meta.NewRecMeta(key) sf := &RecKv{ key: key, meta: meta, val: val, } _ = IRecKvFix(sf) return sf } // Key -- ключ записи. func (sf *RecKv) Key() rec_key.IRecKeyFix { return sf.key } // Meta -- метаданные записи. func (sf *RecKv) Meta() rec_meta.IRecMeta { return sf.meta } // Val -- значение записи. func (sf *RecKv) Val() rec_val.IRecValFix { return sf.val }