{"id":15032130,"url":"https://github.com/neolegends/gabelung","last_synced_at":"2026-03-17T18:02:35.878Z","repository":{"id":62439315,"uuid":"267060908","full_name":"NeoLegends/gabelung","owner":"NeoLegends","description":"Branch an asynchronous stream of cloneable items into two.","archived":false,"fork":false,"pushed_at":"2020-11-06T10:06:13.000Z","size":23,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T02:09:24.845Z","etag":null,"topics":["branch","fork","futures","rust","stream"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NeoLegends.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-26T14:10:48.000Z","updated_at":"2020-12-07T10:16:26.000Z","dependencies_parsed_at":"2022-11-01T22:00:47.319Z","dependency_job_id":null,"html_url":"https://github.com/NeoLegends/gabelung","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoLegends%2Fgabelung","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoLegends%2Fgabelung/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoLegends%2Fgabelung/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoLegends%2Fgabelung/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NeoLegends","download_url":"https://codeload.github.com/NeoLegends/gabelung/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239084400,"owners_count":19578773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["branch","fork","futures","rust","stream"],"created_at":"2024-09-24T20:17:24.012Z","updated_at":"2025-10-04T21:45:53.991Z","avatar_url":"https://github.com/NeoLegends.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![crates.io](https://img.shields.io/crates/v/gabelung.svg)](https://crates.io/crates/gabelung)\n\n# gabelung\n\nBranch an asynchronous stream into two, pushing all items to both halves.\n\nThe resulting branches can be polled independently from each other and will\nreceive all items from the underlying stream (which must be `Clone`).\n\nAs long as both halves are alive, one half will never outpace the other by more\nthan a fixed number of items.\n\nThe goal of this library is to obsolete itself by integration with `futures-rs` (pending [issue](https://github.com/rust-lang/futures-rs/issues/2166)).\nIt does not depend on executor features and thus is runtime agnostic. It is \nverified to work on both `async_std` and `tokio`.\n\n## Example\n\n```rust\nuse futures::{stream, prelude::*};\n\nlet (mut left, mut right) = gabelung::new(stream::repeat(1u8));\n\nassert_eq!(left.next().await, Some(1u8));\nassert_eq!(right.next().await, Some(1u8));\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneolegends%2Fgabelung","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneolegends%2Fgabelung","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneolegends%2Fgabelung/lists"}