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

Allow containers to specify their own serialization #604

Merged
merged 1 commit into from
Nov 25, 2024

Conversation

frankmcsherry
Copy link
Member

@frankmcsherry frankmcsherry commented Nov 25, 2024

This PR allows containers to specify how to write to and read from Bytes. This should open the door up to custom zero-copy implementations, as should be allowed by columnar. I haven't prototyped that up yet, and we may learn about the container trait when doing so (right now: one container for both send and recv; should be workable, but this will let us test).

Design-wise, not in love with the new trait, but it allows us to provide implementations for containers here, rather than e.g. in communication, or (probably where they belong) in container after bringing in dependencies on bincode and the like. Up for discussing that, but I think we just need a trait somewhere, and implementations very near by. Otherwise, we need to have some wrappers and rework a lot of code, which doesn't sound as good.

@frankmcsherry
Copy link
Member Author

I think this is pretty harmless, unless I got the logic wrong. We'll want to think about the public trait surface before releasing though.

@frankmcsherry frankmcsherry merged commit 3307e10 into TimelyDataflow:master Nov 25, 2024
7 checks passed
@github-actions github-actions bot mentioned this pull request Nov 25, 2024
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

Successfully merging this pull request may close these issues.

1 participant