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

Improve channels implementation #8

Open
flcl42 opened this issue Mar 10, 2023 · 0 comments
Open

Improve channels implementation #8

flcl42 opened this issue Mar 10, 2023 · 0 comments
Assignees
Milestone

Comments

@flcl42
Copy link
Contributor

flcl42 commented Mar 10, 2023

Is your feature request related to a problem? Please describe.
The current implementation is not optimal and does not implement backpush properly.
It should be also reviewed for memory allocation efficiency and be covered by tests.

Describe the solution you'd like
Implement pushback-enabled bidirectional channel that exposes an API for optimal buffer allocation and decreases coping while passing data between protocols.

Describe alternatives you've considered
Standard Channels require the current API deep rethinking to integrate them, let's consider this option.
Another approach is to define API that allows direct communication between protocol layers.
https://learn.microsoft.com/en-us/dotnet/standard/io/pipelines?

Additional context
Channels are used to pass data received from the network through the protocol stack.
They are also used to control lifetime and signal about communication ending(which can be forced or regular).

@flcl42 flcl42 self-assigned this Mar 10, 2023
@flcl42 flcl42 added this to the mvp milestone Mar 14, 2023
@flcl42 flcl42 modified the milestones: alpha-1, alpha-eth Sep 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant