Objects of this class are meant to encapsulate the information needed by a client to identify a notification as a response to a registration request and to maintain that registration request. It is not mandatory for an event-interest registration method to use this class. A registration of interest in some kind of event that occurs within the scope of a transaction is leased in the same way as other event interest registrations. However, the duration of the registration is the minimum of the length of the lease and the duration of the transaction. Simply put, when the transaction ends (either because of a commit or an abort) the interest registration also ends. This is true even if the lease for the event registration has not expired and no call has been made to cancel the lease.
// Prepare the session
EventSessionFactoryPtr factory( EventSessionFactory::getFactory(spaceProxy));
// create a session configuration
EventSessionConfigPtr config( EventSessionConfig::CreateSessionConfig(spaceProxy));
config->setComType(ComType::UNICAST); // or MULTIPLEX,MULTICAST
// creating a new DataEventSession
DataEventSessionPtr session (factory->newDataEventSession(config) );
// Create the listener using the class we defined
PersonNotifyListener listener;
// Register for notifications by adding the listener to the space with the Person template
Person personTemplate;
EventRegistrationPtr reg( session->addListener( &personTemplate, &listener, Lease::FOREVER, NotifyModifiers::NOTIFY_WRITE));
Public Member Functions | |
EventRegistration (SpaceProxyPtr pxy, int eventID, long long lease, long long seqNum) | |
long long | getID () |
LeasePtr | getLease () |
long long | getSequenceNumber () |