summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-structr/result.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-structr/result.go')
-rw-r--r--vendor/codeberg.org/gruf/go-structr/result.go78
1 files changed, 0 insertions, 78 deletions
diff --git a/vendor/codeberg.org/gruf/go-structr/result.go b/vendor/codeberg.org/gruf/go-structr/result.go
deleted file mode 100644
index 08d3ad013..000000000
--- a/vendor/codeberg.org/gruf/go-structr/result.go
+++ /dev/null
@@ -1,78 +0,0 @@
-package structr
-
-import (
- "sync"
- "unsafe"
-)
-
-var result_pool sync.Pool
-
-type result struct {
- // linked list elem this result is
- // stored under in Cache.lruList.
- elem list_elem
-
- // indexed stores the indices
- // this result is stored under.
- indexed []*index_entry
-
- // cached data (we maintain
- // the type data here using
- // an interface as any one
- // instance can be T / error).
- data interface{}
-}
-
-func result_acquire[T any](c *Cache[T]) *result {
- // Acquire from pool.
- v := result_pool.Get()
- if v == nil {
- v = new(result)
- }
-
- // Cast result value.
- res := v.(*result)
-
- // Push result elem to front of LRU list.
- list_push_front(&c.lruList, &res.elem)
- res.elem.data = unsafe.Pointer(res)
-
- return res
-}
-
-func result_release[T any](c *Cache[T], res *result) {
- // Remove result elem from LRU list.
- list_remove(&c.lruList, &res.elem)
- res.elem.data = nil
-
- // Reset all result fields.
- res.indexed = res.indexed[:0]
- res.data = nil
-
- // Release to pool.
- result_pool.Put(res)
-}
-
-func result_drop_index[T any](res *result, index *Index[T]) {
- for i := 0; i < len(res.indexed); i++ {
-
- if res.indexed[i].index != unsafe.Pointer(index) {
- // Prof. Obiwan:
- // this is not the index
- // we are looking for.
- continue
- }
-
- // Get index entry ptr.
- entry := res.indexed[i]
-
- // Move all index entries down + reslice.
- copy(res.indexed[i:], res.indexed[i+1:])
- res.indexed = res.indexed[:len(res.indexed)-1]
-
- // Release to memory pool.
- index_entry_release(entry)
-
- return
- }
-}