[Ace-users] [tao-bugs] Notify_Service subscription management
Hans Utz
hans.utz at nasa.gov
Wed Aug 22 11:37:44 CDT 2007
TAO VERSION: 1.5.10
ACE VERSION: 5.5.10
HOST MACHINE and OPERATING SYSTEM: Linux RH WS 4
COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc 3.4.6
THE $ACE_ROOT/ace/config.h FILE:
config-linux.h
THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
platform_linux.GNU
AREA/CLASS/EXAMPLE AFFECTED: Notification Service
DOES THE PROBLEM AFFECT:
EXECUTION
SYNOPSIS:
StructuredPushSupplier::subscription_change not called when subscription
is removed.
DESCRIPTION:
A StructuredPushSupplier implementation, connected to the notification
service gets correctly called its subscription_change() method, with the
correct added events list, when a consumer subscribes for an event.
When, the subscription is removed, though, subscription_change() is not
called.
The subscription management internally seems to keep track correctly of
the events subscribed. When multiple consumers subscribe for the same
event and are stopped one by one afterwards, the event type vanishes
from the list returned by ProxyPushSupplier::obtain_subscribed_types()
at the right time. As yet another data point: The offer management
works correctly for adding and removing offers for the test cases I came
up so far.
SAMPLE FIX/WORKAROUND:
(1) Test for subscriptions by using
ProxyPushSupplier::obtain_subscribed_types() to test if consumers are
still interested in an event type.
(2) Just produce the events unconditionally.
Cheers,
Hans
--
Hans Utz - USRA/RIACS at NASA Ames
I do not speak for NASA, and NASA does not speak for me.
More information about the Ace-users
mailing list