kvdotgo

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2024 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

* Copyright (C) 2024 Puter Technologies Inc. * * This file is part of puter-fuse. * * puter-fuse is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheEntry

type CacheEntry[TVal any] struct {
	time.Time
	TTL   time.Duration
	Value TVal
}

type KVMap

type KVMap[TKey comparable, TVal any] struct {
	// contains filtered or unexported fields
}

func CreateKVMap

func CreateKVMap[TKey comparable, TVal any]() *KVMap[TKey, TVal]

func (*KVMap[TKey, TVal]) Get

func (m *KVMap[TKey, TVal]) Get(key TKey) *TVal

func (*KVMap[TKey, TVal]) GetOrSet

func (m *KVMap[TKey, TVal]) GetOrSet(key TKey, ttl time.Duration, factory func() (TVal, bool, error)) (TVal, bool, error)

func (*KVMap[TKey, TVal]) Set

func (m *KVMap[TKey, TVal]) Set(key TKey, value TVal, ttl time.Duration)

func (*KVMap[TKey, TVal]) SetAndLock

func (m *KVMap[TKey, TVal]) SetAndLock(key TKey, value TVal, ttl time.Duration) *sync.Mutex

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL