-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Snockets #1499
Snockets #1499
Conversation
cdacfc4
to
a32a4ed
Compare
c5ad270
to
fea4c5a
Compare
d64879d
to
69d6206
Compare
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, just minor things.
a2ea19c
to
c0c6e09
Compare
, LocalSnocket | ||
, localSnocket | ||
, LocalAddress | ||
, clientAddressFromPath |
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.
Shouldn't this be localAddressFromPath
?
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.
yes, it should :)
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.
done
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.
Error handler was attached to `putTMVar` instead of the `Network.Socketconnect` call.
namedPipeAsBearer - create a mux bearer from a named pipe
'PipeChannel' is introduced to abstract read / write pipe operations.
Run pipe tests on windows using `pipeChannelFromNamedPipe` This patch makes test-network buildable again and enables pipes tests on Windows.
Run pipe tests on windows using `pipeChannelFromNamedPipe` This patch makes test-network buildable again and enables pipes tests on Windows.
This allows to connect to the diffusion layer using unix socket or named pipe. Currently we don't support local clients connected using a tcp socket, but this could be easily added in the future.
This only allows to connect to a node using a unix socket or a named pipe.
A subscription worker which works over ClientSnocket. It is integrated into data diffusion `Ouroboros.Network.Diffusion`. * `ouroboros-network` - compiler and runs all its tests on Windows. * `ouroboros-consensus` - windows support is tracked in #1082
This is useful for running all tests on windows. Currently it does not include `ouroboros-consensus` tests, since `ouroboros-consensus` does not compile on windows.
bors r+ |
1499: Snockets r=coot a=coot This PR introduce snockets which abstract the interface for Berkeley sockets and named pipes (windows). The PR consist of smaller reviewable and mostly buildable patches. Highlight of changes: Win32-network -------------------- A bug fixed in `System.Win32.Async.connect` network-mux ----------------- * `runMuxWithPipes` handles named pipes as well * new tests which include posix pipes, named pipes and queues * mux-demo - windows named pipe demo using mux: an echo server and client ouroboros-network ------------------------- * `IOManager` - system indepdendent IO manager. On Windows using `System.Win32.Async.withIOManager`, on posix it's a no-op * `Snockets` - abstraction which handles both Berkeley sockets and Windows named pipes, together with smart constructors for both. * `Snocket` shim layer with type alliases for different paltforms (posix / win32) * demo-chain-sync - can now run on Windows with named pipes future work --------------- * `NodeToClient` and `NodeToNode` which are using named pipes for local clients on windows. Co-authored-by: Marcin Szamotulski <[email protected]>
bors +cancel |
bors r- |
Canceled |
bors r+ |
bors try |
bors ping |
pong |
bors r+ |
1499: Snockets r=coot a=coot This PR introduce snockets which abstract the interface for Berkeley sockets and named pipes (windows). The PR consist of smaller reviewable and mostly buildable patches. Highlight of changes: Win32-network -------------------- A bug fixed in `System.Win32.Async.connect` network-mux ----------------- * `runMuxWithPipes` handles named pipes as well * new tests which include posix pipes, named pipes and queues * mux-demo - windows named pipe demo using mux: an echo server and client ouroboros-network ------------------------- * `IOManager` - system indepdendent IO manager. On Windows using `System.Win32.Async.withIOManager`, on posix it's a no-op * `Snockets` - abstraction which handles both Berkeley sockets and Windows named pipes, together with smart constructors for both. * `Snocket` shim layer with type alliases for different paltforms (posix / win32) * demo-chain-sync - can now run on Windows with named pipes future work --------------- * `NodeToClient` and `NodeToNode` which are using named pipes for local clients on windows. Co-authored-by: Marcin Szamotulski <[email protected]>
Build failed |
tryBuild succeeded |
bors r+ |
1499: Snockets r=karknu a=coot This PR introduce snockets which abstract the interface for Berkeley sockets and named pipes (windows). The PR consist of smaller reviewable and mostly buildable patches. Highlight of changes: Win32-network -------------------- A bug fixed in `System.Win32.Async.connect` network-mux ----------------- * `runMuxWithPipes` handles named pipes as well * new tests which include posix pipes, named pipes and queues * mux-demo - windows named pipe demo using mux: an echo server and client ouroboros-network ------------------------- * `IOManager` - system indepdendent IO manager. On Windows using `System.Win32.Async.withIOManager`, on posix it's a no-op * `Snockets` - abstraction which handles both Berkeley sockets and Windows named pipes, together with smart constructors for both. * `Snocket` shim layer with type alliases for different paltforms (posix / win32) * demo-chain-sync - can now run on Windows with named pipes future work --------------- * `NodeToClient` and `NodeToNode` which are using named pipes for local clients on windows. Co-authored-by: Marcin Szamotulski <[email protected]>
This PR introduce snockets which abstract the interface for Berkeley sockets and named pipes (windows).
The PR consist of smaller reviewable and mostly buildable patches.
Highlight of changes:
Win32-network
A bug fixed in
System.Win32.Async.connect
network-mux
runMuxWithPipes
handles named pipes as wellouroboros-network
IOManager
- system indepdendent IO manager. On Windows usingSystem.Win32.Async.withIOManager
, on posix it's a no-opSnockets
- abstraction which handles both Berkeley sockets and Windows named pipes, together with smart constructors for both.Snocket
shim layer with type alliases for different paltforms (posix / win32)future work
NodeToClient
andNodeToNode
which are using named pipes for local clients on windows.