History

TimeSeriesPlatformLibrary: Added an instance UUID representing a unique run-time identifier for the current subscriber connection that can be used to disambiguate when the same subscriber makes multiple connections

J. Ritchie Carroll committed 7 years ago

Commit ee9de011 parent a5163374 files · +20 −9Browse files

Showing the changes to Source/Libraries/TimeSeriesPlatformLibrary/Samples/AdvancedPublish.cpp (1 of 4 files). Show all

Unified · Split

Source/Libraries/TimeSeriesPlatformLibrary/Samples/AdvancedPublish.cpp+8−8
@@ -337,37 +337,37 @@ void HandleTemporalSubscriptionRequested(DataPublisher* source, const Subscriber · 336 unmodified lines
337337 {
338338 cout << "Client \"" << connection->GetConnectionID() << "\" with subscriber ID " << ToString(connection->GetSubscriberID()) << " has requested a temporal subscription starting at " << ToString(connection->GetStartTimeConstraint()) << endl << endl;
339339
340− TemporalSubscriberPtr temporalSubscription = NewSharedPtr<TemporalSubscriber>(connection, [](const GSF::Guid& subscriberID)
340+ TemporalSubscriberPtr temporalSubscription = NewSharedPtr<TemporalSubscriber>(connection, [](const GSF::Guid& instanceID)
341341 {
342− Thread([subscriberID]{
342+ Thread([instanceID]{
343343 TemporalSubscriptionsLock.lock();
344344
345− if (TemporalSubscriptions.find(subscriberID) != TemporalSubscriptions.end())
346− TemporalSubscriptions.erase(subscriberID);
345+ if (TemporalSubscriptions.find(instanceID) != TemporalSubscriptions.end())
346+ TemporalSubscriptions.erase(instanceID);
347347
348348 TemporalSubscriptionsLock.unlock();
349349 });
350350 });
351351
352352 TemporalSubscriptionsLock.lock();
353− TemporalSubscriptions.insert_or_assign(connection->GetSubscriberID(), temporalSubscription);
353+ TemporalSubscriptions.insert_or_assign(connection->GetInstanceID(), temporalSubscription);
354354 TemporalSubscriptionsLock.unlock();
355355 }
356356
357357 void HandleProcessingIntervalChangeRequested(DataPublisher* source, const SubscriberConnectionPtr& connection)
358358 {
359359 static const TemporalSubscriberPtr nullTemporalSubscription = nullptr;
360− const GSF::Guid& subscriberID = connection->GetSubscriberID();
360+ const GSF::Guid& instanceID = connection->GetInstanceID();
361361 const int32_t processingInterval = connection->GetProcessingInterval();
362362 TemporalSubscriberPtr temporalSubscription;
363363
364364 TemporalSubscriptionsLock.lock();
365365
366− if (TryGetValue(TemporalSubscriptions, subscriberID, temporalSubscription, nullTemporalSubscription))
366+ if (TryGetValue(TemporalSubscriptions, instanceID, temporalSubscription, nullTemporalSubscription))
367367 temporalSubscription->SetProcessingInterval(processingInterval);
368368
369369 TemporalSubscriptionsLock.unlock();
370370
371371 if (temporalSubscription != nullTemporalSubscription)
372− cout << "Client \"" << connection->GetConnectionID() << "\" with subscriber ID " << ToString(subscriberID) << " has requested to change its temporal processing interval to " << ToString(processingInterval) << "ms" << endl << endl;
372+ cout << "Client \"" << connection->GetConnectionID() << "\" with subscriber ID " << ToString(connection->GetSubscriberID()) << " has requested to change its temporal processing interval to " << ToString(processingInterval) << "ms" << endl << endl;
373373 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t