Tee is a misnomer: it is a passthrough counter, and the docs claim it is a 1-to-N fanout #48
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
zensight-sensor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
marcpardo/parallax#48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Teedoes not tee. It is a 1-in/1-out passthrough counter, and the module docs claim the opposite.src/elements/flow/tee.rs:41-105:Its own doc comment is honest (
tee.rs:9-13):But the module documentation is not.
src/elements/flow/mod.rs:8:which is false. And
src/elements/mod.rs:18advertises "Queue, tee, funnel, selectors, concat, valve" in a list of flow elements, implying a tee is among the tools available.funnel.rs:15compounds it: "This is the complement toTeewhich splits one output to many."The real fan-out mechanism — multiple
link()calls from one src-pad, which the executor broadcasts to aVec<AsyncSender>with refcounted buffer clones — is genuinely good and genuinely documented nowhere near here.Ask
Probe/Inspect(what it actually is), or at minimum stop calling it a fanout.flow/mod.rs:8andfunnel.rs:15.Cost me a wrong turn while auditing 0.2.0 for the zensight sensor: I assumed from the docs that a tee existed and that fan-out was therefore an element-level concern, when in fact fan-out already works and the element is a red herring.
Update: breaking changes are on the table, so drop the "rename or document" hedge — rename it.
Teeis a 1-in/1-out passthrough counter. Anything calledTeein a media pipeline promises 1-to-N fanout, andflow/mod.rs:8explicitly (and falsely) claims it delivers exactly that. Documentation cannot fix a name that actively misleads — I went looking for the fan-out mechanism, found a type calledTee, and had to read its source to discover that the real mechanism was multiplelink()calls and that this type had nothing to do with it.ProbeorInspect. Then fixflow/mod.rs:8andfunnel.rs:15("the complement toTeewhich splits one output to many" — it isn't), and document the real fan-out mechanism where someone hunting for a tee will actually land.