Skip to content

feat(Manifold.Worker): Allow sends with :noconnect and :nosuspend options - #21

Open
jliklik wants to merge 5 commits into
discord:masterfrom
jliklik:no_connect
Open

feat(Manifold.Worker): Allow sends with :noconnect and :nosuspend options#21
jliklik wants to merge 5 commits into
discord:masterfrom
jliklik:no_connect

Conversation

@jliklik

@jliklik jliklik commented Aug 28, 2026

Copy link
Copy Markdown

What

Add :nosuspend and :noconnect options when sending to remote nodes.

Why

When communicating with an unreliable remote node, send/2 may block or slow down the sending erlang process due to auto-connections and overloaded connections.

:nosuspend -> Allows sending process to drop message if connection to the remote node is overloaded
:noconnect -> If remote node is not already connected, node will not try to connect to it when sending the message

These options must be used with care, as they may break the reliable message passing guarantees normally expected in erlang/elixir.

How

Use Process.send/3 with :noconnect and :nosuspend options instead of Kernel.send/2.

Testing

Added some tests for the new Manifold options and to verify that the new Process.send/3 call does not break functionality.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants