Skip to content
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

Use Namedpipes and UnixDomainSockets for ProcessHostService communication #112

Closed
volllly opened this issue Oct 18, 2023 · 4 comments · Fixed by #151
Closed

Use Namedpipes and UnixDomainSockets for ProcessHostService communication #112

volllly opened this issue Oct 18, 2023 · 4 comments · Fixed by #151
Assignees
Labels
feature-request New feature or request planned-feature A feature that was planned and committed to by the maintainers

Comments

@volllly
Copy link
Contributor

volllly commented Oct 18, 2023

Currently the ProcessHostService is binding its gRPC service to a port.
Depending on the whole networkstack for this provides more than we need and can be error prone (two launchers cannot be started easily when using the same port).

*Note: We can not change the behaviour of Queue and SCU binding. This change only concerns communication between the Launcher Monarch and Plebeian which currently TCP binds to the LauncherConfiguration.LauncherPort.

Solution 1

Since we only have one way communication from the plebeians to the monarch we could use .NET AnonymousPipes for communication. The monarch creates the pipe server and passes the client handle string to the plebeians. We'd probably need to pass JSON messages between plebeian and monarch.

Solution 2

Continue to use gRPC but use unix domain sockets and named pipes.

@volllly volllly added the feature-request New feature or request label Oct 18, 2023
@volllly
Copy link
Contributor Author

volllly commented Oct 19, 2023

Go with solution 2.

@volllly volllly added the planned-feature A feature that was planned and committed to by the maintainers label Oct 19, 2023
@pawelvds pawelvds self-assigned this Oct 24, 2023
@pawelvds pawelvds linked a pull request Oct 29, 2023 that will close this issue
4 tasks
@volllly
Copy link
Contributor Author

volllly commented Nov 3, 2023

Named pipes are only supported starting with .net8

@StefanKert
Copy link
Member

Named pipes are only supported starting with .net8

Are we able to use Unix Sockets where supported?

@volllly volllly changed the title Use Pipes for ProcessHostService communication Use Namedpipes and UnixDomainSockets for ProcessHostService communication Nov 6, 2023
@volllly
Copy link
Contributor Author

volllly commented Nov 20, 2023

With the release of net8 we'll update the launcher to net8 and restart this effort. #136

Investigate support for which platforms is dropped and update docs on supported OSs. Add support window to docs (we follow .net LTS).

@volllly volllly linked a pull request Jan 4, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request New feature or request planned-feature A feature that was planned and committed to by the maintainers
Projects
None yet
3 participants