Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Queue trait to BwDevice #6

Closed
Centaurus99 opened this issue Feb 26, 2024 · 2 comments · Fixed by #12
Closed

Add Queue trait to BwDevice #6

Centaurus99 opened this issue Feb 26, 2024 · 2 comments · Fixed by #12
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@Centaurus99
Copy link
Member

No description provided.

@Centaurus99 Centaurus99 added the enhancement New feature or request label Feb 26, 2024
@Centaurus99 Centaurus99 added this to the v0.0.1 milestone Feb 26, 2024
@Centaurus99 Centaurus99 self-assigned this Feb 26, 2024
@Centaurus99
Copy link
Member Author

Centaurus99 commented Feb 27, 2024

  1. Does the queue policy need to be mutable at runtime? If needed, using trait objects may be necessary. The change of queue policy can be achieved by combining different types of PacketQueue to create a new type of PacketQueue that can change the inner queue at runtime. (Not implemented yet.)
  2. Does the queue arguments (like queue length) need to be mutable at runtime? Currently implemented to only change parameters without performing any transitional operations. If this change is due to factors such as competing flows, a new device may be required for implementation.

@Centaurus99
Copy link
Member Author

Centaurus99 commented Feb 27, 2024

Now the queue is implemented using mpsc::unbounded_channel and VecDeque. We need to pay attention to whether there are potential performance issues.

Centaurus99 added a commit that referenced this issue Feb 29, 2024
Centaurus99 added a commit that referenced this issue Mar 1, 2024
Centaurus99 added a commit that referenced this issue Mar 4, 2024
Centaurus99 added a commit that referenced this issue Mar 6, 2024
# This is the 1st commit message:
feat(device): add packet queue to bandwidth device

Refs: #6

# This is the commit message #2:

fix(device): the correctness of packet enqueue in the queue

Refs: #6

# This is the commit message #3:

test(bandwidth): add test for DropTailQueue

Refs: #6

# This is the commit message #4:

feat(device): add control interface to packet queue

Refs: #6

# This is the commit message #5:

fix(device): return an error when setting an empty config to BwDevice

Refs: #6

# This is the commit message #6:

test(bandwidth): add test for DropHeadQueue

Refs: #6

# This is the commit message #7:

feat(device): remove peek function in PacketQueue

Ref: #6

# This is the commit message #8:

feat(device): add CoDel queue and its test

Refs: #6

# This is the commit message #9:

fix: fix clippy warnings

# This is the commit message #10:

ci: add a mantic/6.6 VM (#8)

# This is the commit message #11:

chore: ignore .vscode

# This is the commit message #12:

ci: add cargo audit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant