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.
Before these patches, the Historian owned both its input and output channels. If other stages in the TPU pipeline followed suit, there'd be no way to stitch them together. With these patches, we look to set a more composable precedent. We have 3 choices of which channel to hoist: the input, the output, or both. With a bit of experimentation, it seems hoisting just the input channel results in both the most natural code and the most flexible. One might guess that hoisting both would be more flexible, but because
Sync
leaks into the sender's type signature, the only advantage to hoisting the output channel is to set the size of it (so might as well just pass in an integer!)A pipeline can now be written as: