summaryrefslogtreecommitdiff
path: root/vendor/github.com/cilium/ebpf/asm/metadata.go
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2025-02-03 10:12:35 +0000
committerLibravatar GitHub <noreply@github.com>2025-02-03 10:12:35 +0000
commitc086d4048c2a26a0bf70c1ced24c78680a786710 (patch)
treecf7606e8452e9047d7f0e0d9b6de10edf7ebdc89 /vendor/github.com/cilium/ebpf/asm/metadata.go
parent[chore]: Bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 (#3725) (diff)
downloadgotosocial-c086d4048c2a26a0bf70c1ced24c78680a786710.tar.xz
[chore]: Bump github.com/KimMachineGun/automemlimit from 0.6.1 to 0.7.0 (#3726)
Bumps [github.com/KimMachineGun/automemlimit](https://github.com/KimMachineGun/automemlimit) from 0.6.1 to 0.7.0. - [Release notes](https://github.com/KimMachineGun/automemlimit/releases) - [Commits](https://github.com/KimMachineGun/automemlimit/compare/v0.6.1...v0.7.0) --- updated-dependencies: - dependency-name: github.com/KimMachineGun/automemlimit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/cilium/ebpf/asm/metadata.go')
-rw-r--r--vendor/github.com/cilium/ebpf/asm/metadata.go80
1 files changed, 0 insertions, 80 deletions
diff --git a/vendor/github.com/cilium/ebpf/asm/metadata.go b/vendor/github.com/cilium/ebpf/asm/metadata.go
deleted file mode 100644
index dd368a936..000000000
--- a/vendor/github.com/cilium/ebpf/asm/metadata.go
+++ /dev/null
@@ -1,80 +0,0 @@
-package asm
-
-// Metadata contains metadata about an instruction.
-type Metadata struct {
- head *metaElement
-}
-
-type metaElement struct {
- next *metaElement
- key, value interface{}
-}
-
-// Find the element containing key.
-//
-// Returns nil if there is no such element.
-func (m *Metadata) find(key interface{}) *metaElement {
- for e := m.head; e != nil; e = e.next {
- if e.key == key {
- return e
- }
- }
- return nil
-}
-
-// Remove an element from the linked list.
-//
-// Copies as many elements of the list as necessary to remove r, but doesn't
-// perform a full copy.
-func (m *Metadata) remove(r *metaElement) {
- current := &m.head
- for e := m.head; e != nil; e = e.next {
- if e == r {
- // We've found the element we want to remove.
- *current = e.next
-
- // No need to copy the tail.
- return
- }
-
- // There is another element in front of the one we want to remove.
- // We have to copy it to be able to change metaElement.next.
- cpy := &metaElement{key: e.key, value: e.value}
- *current = cpy
- current = &cpy.next
- }
-}
-
-// Set a key to a value.
-//
-// If value is nil, the key is removed. Avoids modifying old metadata by
-// copying if necessary.
-func (m *Metadata) Set(key, value interface{}) {
- if e := m.find(key); e != nil {
- if e.value == value {
- // Key is present and the value is the same. Nothing to do.
- return
- }
-
- // Key is present with a different value. Create a copy of the list
- // which doesn't have the element in it.
- m.remove(e)
- }
-
- // m.head is now a linked list that doesn't contain key.
- if value == nil {
- return
- }
-
- m.head = &metaElement{key: key, value: value, next: m.head}
-}
-
-// Get the value of a key.
-//
-// Returns nil if no value with the given key is present.
-func (m *Metadata) Get(key interface{}) interface{} {
- if e := m.find(key); e != nil {
- return e.value
- }
- return nil
-}