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

Is there a local-only Transport available for Akka.Remoting that can be used for Inter-Process Communication ? #7266

Open
DSanchen opened this issue Jun 26, 2024 · 2 comments

Comments

@DSanchen
Copy link

Is your feature request related to a problem? Please describe.
I would like to use Akka.Remoting for Inter-Process communication only (e.g. only on the same host). No TCP/IP ports should be used, therefore I guess DotNetty is not suitable for this use-case.

Describe the solution you'd like
I thought of a Transport that only use local resources, could be (for Windows / .Net Framework 4.8) NamedPipes or Unix Domain Sockets.

Describe alternatives you've considered
Has anybody else already implemented a local-only Transport ? I didn't find one... ??

Additional context
I did a quick and easy implementation of both NamedPipes and UDS Transports, but am not sure if all situations are handled correctly. Some basic tests with two apps on the same host look promising...

@DSanchen DSanchen changed the title Is there a local-only Transport available for Akka.Remoting that can be used for Inter-Process Communication Is there a local-only Transport available for Akka.Remoting that can be used for Inter-Process Communication ? Jun 26, 2024
@Aaronontheweb
Copy link
Member

Once upon a timed we had a NamedPipeTransport but that was in a feature branch that never made it into a live Akka.NET release.

@DSanchen
Copy link
Author

DSanchen commented Jul 9, 2024

Ok, seems like this might not be of too much interest.
So for testing: Is it sufficient, when "my" transport meets all specs of "TestTransportSpec" and "GenericTransportSpec" (within Akka.Remote.Tests) ? Or are there other (undocumented) requirements that the above layers (Protocol Actor etc..) have on the Transport ? Especially I think about the Disassociated-Event ? When does a Transport send this ?
I can't seem to find hints how to "correctly" implement a Transport class... 😳

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants