celaut-project / nodo

Service Orchestration for Distributed Networks
1 stars 0 forks source link

RecursionGuard on GetServiceEstimatedCostIterable #33

Open jse07 opened 3 weeks ago

jse07 commented 3 weeks ago

Recursion Guard ensures that the peer is not also a client. It generates identifiers that are passed along with a call. When the peer receives the call and queries its peers, if the relationship with the first peer is reciprocal, it can identify the request, and the first peer will not respond.

Currently, only the StartService method is implementing it. However, it throws a 'Block recursion loop' exception that the service balancer does not handle.

For now, the best option is to ensure that two peers do not connect bidirectionally.