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 ¶
- type CacheEntry
- type KVMap
- func (m *KVMap[TKey, TVal]) Get(key TKey) *TVal
- func (m *KVMap[TKey, TVal]) GetOrSet(key TKey, ttl time.Duration, factory func() (TVal, bool, error)) (TVal, bool, error)
- func (m *KVMap[TKey, TVal]) Set(key TKey, value TVal, ttl time.Duration)
- func (m *KVMap[TKey, TVal]) SetAndLock(key TKey, value TVal, ttl time.Duration) *sync.Mutex
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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]