Jun 16 at 11:48 PM
Edited Jun 17 at 10:33 AM
If server fails to invoke client's event handler, subscription
is cancelled, and client's event handler is removed.
Yes, that's true. Client event handlers are pure one-way calls.
They should never ever return values or throw exceptions.
The one and only valid situation where invoking the client event handler
might result in an exception is when the connection is broken unexpectedly
(due to network failure, client shutdown, etc). In this case the server assumes
that the client is not active anymore and cancels its subscription.
Now I ask: How I can determin that the subscription is cancelled?
I don't think that there is any way to check this in the current version of Zyan.
For our application is important that the clients still react of
the event (refresh a list of data from dataserver). In our test app
we have sometimes that the event not fireing anymore. But we can not notice why.
Are you sure that your event handlers can't leak uncaught exceptions?
Looks like this should be the reason why subscriptions are cancelled.
Event handlers work pretty stable, and even when the server is restarted,
all subscriptions are restored when the client re-establishes the connection.
Have zyan a "Event is cancelled"-Event? (Server or client side)?
No, current version doesn't have such an event.
I'll consider adding a server-side event so you can trace down this situation.
What is needed to reactivate the event?
I think that the only way to reactivate it is to subscribe again.