{"id":22904304,"url":"https://github.com/miniaczq/windows-ipc-callback","last_synced_at":"2025-04-01T08:26:27.407Z","repository":{"id":119139875,"uuid":"559357332","full_name":"MiniaczQ/windows-ipc-callback","owner":"MiniaczQ","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-30T16:38:36.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T04:45:45.377Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/MiniaczQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2022-10-29T21:27:59.000Z","updated_at":"2022-10-29T21:28:05.000Z","dependencies_parsed_at":"2023-07-09T23:45:30.406Z","dependency_job_id":null,"html_url":"https://github.com/MiniaczQ/windows-ipc-callback","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/MiniaczQ%2Fwindows-ipc-callback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiniaczQ%2Fwindows-ipc-callback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiniaczQ%2Fwindows-ipc-callback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiniaczQ%2Fwindows-ipc-callback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MiniaczQ","download_url":"https://codeload.github.com/MiniaczQ/windows-ipc-callback/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246605558,"owners_count":20804255,"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":[],"created_at":"2024-12-14T02:45:45.102Z","updated_at":"2025-04-01T08:26:27.385Z","avatar_url":"https://github.com/MiniaczQ.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# :rocket: Windows :rocket: async :rocket: IPC :rocket: experiment :rocket:\n\nTo achieve true async we need the ability to remotely call a procedure on another process.\n\nThe point of this experiment was to fabricate a basis for this on Windows platform.\n\nUpdate:\n\nAfter carefuly reading the rest of the documentation, it came to my attention that Windows uses a blocking thread pool for this functionality...\nBut the project is still a neat example of low level Rust.\n\n# How to run :running:\n\nTo try the example yourself run:\n\n`cargo run --bin sleeper`\n\n`cargo run --bin waker`\n\nThe intended behavior is for `sleeper` to print a console message for each `waker` ran.\n\nThe `sleeper` will should terminate after few prints.\n\n# Other\n\nThe code is **very** unsafe.\n\nThe code is intentionaly over-documented.\n\nThe code **does not perform any cleanup**.\nIt's only good for 1-time use for the duration of the entire process.\n\nI wanted to create a flexible solution to run multiple tests.\nThe code can be adapted for something more specific.\n\nTo sum it up, this is an experiment unfit for any practical usage. (like Haskell :wink:)\n\n# Kudos\n\nBig thanks to\n\n- kpreid#9810\n- T-Dark#9470\n\nfrom [Rust discord](https://discord.gg/rust-lang-community).\n\nThis experiment succeeded because of Your help! :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminiaczq%2Fwindows-ipc-callback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminiaczq%2Fwindows-ipc-callback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminiaczq%2Fwindows-ipc-callback/lists"}