{"id":16860160,"url":"https://github.com/nightkr/async-spmc","last_synced_at":"2025-10-24T22:37:03.800Z","repository":{"id":233438169,"uuid":"668924777","full_name":"nightkr/async-spmc","owner":"nightkr","description":"\"Safe\" Rust SPMC channels","archived":false,"fork":false,"pushed_at":"2023-07-20T23:45:54.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-18T14:44:00.798Z","etag":null,"topics":["futures-rs","rust","rust-async","tokio"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nightkr.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-20T23:43:07.000Z","updated_at":"2023-07-20T23:52:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"8afb4d28-3c81-4bd9-b703-2e1b229e107a","html_url":"https://github.com/nightkr/async-spmc","commit_stats":null,"previous_names":["nightkr/async-spmc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nightkr/async-spmc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightkr%2Fasync-spmc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightkr%2Fasync-spmc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightkr%2Fasync-spmc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightkr%2Fasync-spmc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nightkr","download_url":"https://codeload.github.com/nightkr/async-spmc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nightkr%2Fasync-spmc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266456245,"owners_count":23931383,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["futures-rs","rust","rust-async","tokio"],"created_at":"2024-10-13T14:21:39.946Z","updated_at":"2025-10-24T22:36:58.768Z","avatar_url":"https://github.com/nightkr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: SPMC (single-producer, multi-consumer) channels\n\nThis is an implementation of SPMC channels by effectively inverting a MPSC (multi-producer, single-consumer) channel. Each ready consumer sends a oneshot channel\ninto the MPSC channel. The producer tries to grab any available oneshot channel and fulfils it.\n\n* (Not-so) FAQ\n\n** Is it fast?\n\nNo. It's around 5x slower than the underlying MPSC channel under the best of circumstances.\n\n** Is it stable?\n\nNo, it seems to explode and deadlock somewhere between 20 and 30 consumers.\n\n** Is it reliable?\n\nNo, a receiver will drop any pending message when dropped.\n\n** Can it summon nostril demons?\n\nNot by itself. ~futures::channel~ might though, who knows?\n\n** Does it depend on Tokio?\n\nNo.\n\n** Is it on crates.io?\n\nNo.\n\n** Why?\n\nSometimes experiments have to be carried out, however ill-advised.\n\n** Is it Cyber Resilience Act-compliant?\n\nProbably not.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightkr%2Fasync-spmc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnightkr%2Fasync-spmc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightkr%2Fasync-spmc/lists"}