Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements QueueStack wrapper struct which implements Push, Peek and Pop methods for BPF_QUEUE and BPF_STACK.
They are implemented based on the Python implementation, but completely analogous to current Table implementations.
Table currently doesn't support Push, Pop and Peek methods which are queue and stack specific - I don't think they should be present in the Table struct because they aren't applicable to all types. Python library implements these as separate types that inherit the BaseTable type which is a good design decision imho.
I also included checking keySize in TableIterator Next method because it's possible to get panics out of Next method on empty maps.