Skip to content

Consider simplifying ChannelBuffers to only ever store one message per channel #66071

@Hixie

Description

@Hixie

There's a lot of complexity with having ring buffers and so forth, and they are a source of some confusion and bugs. We would benefit greatly from this being significantly simpler.

For use cases where a small ring buffer greater than 1 is appropriate, it seems like a sufficient solution is just to store all the relevant information in every message and send that.

For use cases where large amounts of information should be cached, it seems like a solution is to have the plugin do the caching and await a request.

We should see whether any plugins are making use of the ChannelBuffers control channel. If none are, that would be a good signal that we can just remove this. If some are, we should investigate what the use cases are.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projecta: pluginsSupport for writing, building, and running plugin packagesc: API breakBackwards-incompatible API changesc: contributor-productivityTeam-specific productivity, code health, technical debt.c: new featureNothing broken; request for a new capabilityc: performanceRelates to speed or footprint issues (see "perf:" labels)engineflutter/engine related. See also e: labels.perf: app sizePerformance issues related to app size (binary/code size) or disk spaceperf: speedPerformance issues related to (mostly rendering) speedteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions