Archived

This forum has been archived. Please start a new discussion on GitHub.

Can I interrupt a synchronous invocation?

I am working on an ICE interface that will be used in conjunction with a user GUI. Most of the time, the GUI will dispatch a call and wait for a reply from the server. But server-side processing can take up to 3 minutes, and occasionally we may want to give the users opportunity to say "ok, forget about it, let's move on". Doing a fixed time-out is not quite suitable for this application, I don't think we can come up with a value that will suit all users.

I can obviously do it as two one-way invocations, but this is a bit of a hassle, because one would have to be quite careful keeping track which returns match up to which callouts. Is there a way to interrupt a synchronous invocation in the middle of execution?

Thanks,

Myrosia

Comments

  • mes
    mes California
    Hi,

    No, you can't interrupt a synchronous invocation. I recommend that you use an asynchronous invocation in this situation. Note that you may need to notify your AMI callback so that it ignores the response that Ice will eventually deliver.

    Regards,
    Mark
  • Thanks, this make sense! I noticed the oneway invocation, but somehow I missed the information about asynchronous invocation in the manual. This looks exactly like what I need.