-
Notifications
You must be signed in to change notification settings - Fork 795
feat: windows ipc provider (named pipe) #1976
Conversation
P.S.: CI needs quite the revamp, it's currently only covering Windows with no features and Linux with either all or no features; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for picking this up.
before we merge this, it'd be great to have additional ipc tests in anvil first to test the provider.
the tests are the same as websockets, do you want me to change from geth to anvil? |
we currently only do ipc e2e testing on unix for anvil with this we can remove the cfg and it should also work on windows, so would be great to test this first via a PR with patched ethers |
Oh I see what you mean now, on it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
foundry tests lgtm.
could use the windows stream as is or replicate the Windows stream implementation, both are essentially the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm,
cross platform ipc support 🔥
nice work :) |
* fmt: imports * fix: ipc tests * fmt * chore: move ws macros * chore: gate ipc to unix family * chore: make tokio optional * feat: initial named_pipe * feat: windows ipc * chore: update Provider * chore: clippy * chore: use Path instead of OsStr * chore: clippy * fix: docs * lf * lf * test: better subscription tests * docs * fix: ipc doctest * chore: make winapi optional * fix: optional tokio
Thank you team! |
Motivation
Fixes #1974, cc @CodeFunta
Solution
tokio::net::windows::named_pipe::NamedPipeClient
wrapper to be compatible withUnixStream
split
method, only real implementation is inconnect
Successfully tested after a bump in thread stack size
PR Checklist