Skip to content

Bi-directional connections not working: I'm probably missing something stupid #2329

Closed Answered by pepone
hartogjr asked this question in Q&A
Discussion options

You must be logged in to vote

The ice_fixed method returns a new fixed proxy instead of mutating the existing one. Proxy types in Ice are immutable, and the ice_xxx methods return a new proxy with the updated setting.

See https://doc.zeroc.com/ice/3.7/client-side-features/proxies/proxy-methods

In your code the worker_i->algorithmAsync is not using the fixed proxy, worker_i is still a regular non-fixed proxy. Then one in the workers_ map is a fixed proxy.

workers_[srcip] = { worker_i->ice_fixed(current_i.con), 0, false, registered, thr };
FI("Registered worker `{:s}' at [{:s}] with {:d} threads",
   Ice::identityToString(worker_i->ice_getIdentity()), srcip, thr);
tasks_.push_back(task(taskType::loadAlg, worker_i->algor…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@hartogjr
Comment options

@pepone
Comment options

Answer selected by hartogjr
@hartogjr
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants