The example above describes a scenario with 3 peers. One acts as a provider and two clients would like to get information from that provider. Due to network restrictions only one of the two clients is able to communicate with the provider, but both clients are able to connect to each other.
After estabilishing the network, kademlia.New().Discover() shows the correct routes.
In this scenario it would be great to have a way that SendMessage would use id node.ID instead of addr string.
E.g.: SendMessage(ctx context.Context, id ID, msg Serializable) error
In this way Blocked_Client could send a message to Provider without knowing that it has to pass Allowed_Client.
At the moment this has to be done somehow manually. To me this is somehow strange, as the routing is already implemented and correct.
The example above describes a scenario with 3 peers. One acts as a provider and two clients would like to get information from that provider. Due to network restrictions only one of the two clients is able to communicate with the provider, but both clients are able to connect to each other.
After estabilishing the network,
kademlia.New().Discover()
shows the correct routes.In this scenario it would be great to have a way that
SendMessage
would useid node.ID
instead ofaddr string
. E.g.:SendMessage(ctx context.Context, id ID, msg Serializable) error
In this wayBlocked_Client
could send a message toProvider
without knowing that it has to passAllowed_Client
.At the moment this has to be done somehow manually. To me this is somehow strange, as the routing is already implemented and correct.