{"id":22204331,"url":"https://github.com/coruscateor/libsync","last_synced_at":"2026-02-23T16:04:13.041Z","repository":{"id":238783177,"uuid":"797564418","full_name":"coruscateor/libsync","owner":"coruscateor","description":"A library containing channels and other synchronisation object implementations.","archived":false,"fork":false,"pushed_at":"2026-02-16T05:20:51.000Z","size":227,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-16T12:55:31.995Z","etag":null,"topics":["async","channel","channels","rust","rust-lang","rustlang","synchronisation","syncronization"],"latest_commit_sha":null,"homepage":"https://www.coruscateor.com/projects/libsync","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coruscateor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-MIT","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-08T04:56:49.000Z","updated_at":"2026-02-16T05:20:55.000Z","dependencies_parsed_at":"2026-01-17T08:09:33.495Z","dependency_job_id":null,"html_url":"https://github.com/coruscateor/libsync","commit_stats":null,"previous_names":["coruscateor/libsync"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coruscateor/libsync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coruscateor%2Flibsync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coruscateor%2Flibsync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coruscateor%2Flibsync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coruscateor%2Flibsync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coruscateor","download_url":"https://codeload.github.com/coruscateor/libsync/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coruscateor%2Flibsync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29747981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T07:44:07.782Z","status":"ssl_error","status_checked_at":"2026-02-23T07:44:07.432Z","response_time":90,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["async","channel","channels","rust","rust-lang","rustlang","synchronisation","syncronization"],"created_at":"2024-12-02T17:16:55.734Z","updated_at":"2026-02-23T16:04:13.031Z","avatar_url":"https://github.com/coruscateor.png","language":"Rust","funding_links":["https://github.com/sponsors/coruscateor"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# LibSync\n\n[![Crates.io](https://img.shields.io/crates/v/libsync)](https://crates.io/crates/libsync)\n[![License](https://img.shields.io/badge/license-MIT%2FApache-blue)](#license)\n[![Downloads](https://img.shields.io/crates/d/libsync)](https://crates.io/crates/libsync)\n[![Docs](https://docs.rs/libsync/badge.svg)](https://docs.rs/libsync/latest/libsync)\n[![Twitch Status](https://img.shields.io/twitch/status/coruscateor)](https://www.twitch.tv/coruscateor)\n\n[X](https://twitter.com/Coruscateor) | \n[Twitch](https://www.twitch.tv/coruscateor) | \n[Youtube](https://www.youtube.com/@coruscateor) | \n[Mastodon](https://mastodon.social/@Coruscateor) | \n[GitHub](https://github.com/coruscateor) | \n[GitHub Sponsors](https://github.com/sponsors/coruscateor) \n\n\u003c/div\u003e\n\n\u003c/br\u003e\n\nLibSync is a library which contains channel implementations and objects used to produce channel implementations.\n\nUse the channel implementations in the crossbeam_queue and scc modules as the crossbeam module is probably going to be removed. \n\n\u003c/br\u003e\n\n## Valid Features\n\n| Feature                   | Description |\n| -------                   | ----------- |\n| crossbeam                 | Enable the crossbeam sub-module. |\n| crossbeam-queue           | Enable the crossbeam-queue sub-module. |\n| tokio                     | Enable the tokio-helpers sub-module and relevant tests. |\n| scc                       | Enable the scc sub-module. |\n| std                       | Enable the std sub-module. |\n| use_std_sync              | Use std synchronisation objects. |\n| use_parking_lot_sync      | Use parking_lot synchronisation objects. |\n| use_parking_lot_fair_sync | Use fair parking_lot synchronisation objects where possible. |\n\n\u003c/br\u003e\n\n## Required Features\n\nMust be built with either **use_std_sync**, **use_parking_lot_sync** or **use_parking_lot_fair_sync** included in the features list.  \n\n\u003c/br\u003e\n\n## Compiler:\n\nBuild with the latest stable compiler.\n\n\u003c/br\u003e\n\n## Todo\n\n- Add more documentation\n- Add more tests\n- Decide on what is staying in the library.\n- Add async-runtime specific functionality to the crossbeam_queue and scc oriented channels (e.g. timeout methods). \n- Add an std VecDeque oriented channel implementation.\n\n\u003c/br\u003e\n\n## Maybe\n\n- Add more channel implementations using queue implementations of other crates that this crate doesn’t already conditionally depend on.\n\n\u003c/br\u003e\n\n## Coding Style\n\nThis project uses a coding style that emphasises the use of white space over keeping the line and column counts as low as possible.\n\nSo this:\n\n```rust\nfn bar() {}\n\nfn foo()\n{\n\n    bar();\n\n}\n\n```\n\nNot this:\n\n```rust\nfn bar() {}\n\nfn foo()\n{\n    bar();\n}\n\n```\n\n\u003cbr/\u003e\n\n## License\n\nLicensed under either of:\n\n- Apache License, Version 2.0, ([LICENSE-APACHE](./LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0 (see also: https://www.tldrlegal.com/license/apache-license-2-0-apache-2-0))\n- MIT license ([LICENSE-MIT](./LICENSE-MIT) or http://opensource.org/licenses/MIT (see also: https://www.tldrlegal.com/license/mit-license))\n\nat your discretion\n\n\u003cbr/\u003e\n\n## Contributing\n\nPlease clone the repository and create an issue explaining what feature or features you'd like to add or bug or bugs you'd like to fix and perhaps how you intend to implement these additions or fixes. Try to include details though it doesn't need to be exhaustive and we'll take it from there (dependant on availability).\n\n\u003cbr/\u003e\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoruscateor%2Flibsync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoruscateor%2Flibsync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoruscateor%2Flibsync/lists"}