History

TimeSeriesPlatformLibrary: Improved handling of SignalIndexCache instance within DataPublisher

J. Ritchie Carroll committed 7 years ago

Commit a5cbc2b1 parent ad6759018 files · +199 −114Browse files

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

Unified · Split

Source/Libraries/TimeSeriesPlatformLibrary/Samples/AdvancedPublish.cpp+12−12
@@ -44,7 +44,7 @@ void DisplayClientDisconnected(DataPublisher* source, const SubscriberConnection · 43 unmodified lines
44void DisplayStatusMessage(DataPublisher* source, const string& message);44void DisplayStatusMessage(DataPublisher* source, const string& message);
45void DisplayErrorMessage(DataPublisher* source, const string& message);45void DisplayErrorMessage(DataPublisher* source, const string& message);
46void HandleTemporalSubscriptionRequested(DataPublisher* source, const SubscriberConnectionPtr& connection);46void HandleTemporalSubscriptionRequested(DataPublisher* source, const SubscriberConnectionPtr& connection);
47void HandleTemporalProcessingIntervalChangeRequested(DataPublisher* source, const SubscriberConnectionPtr& connection);47void HandleProcessingIntervalChangeRequested(DataPublisher* source, const SubscriberConnectionPtr& connection);
48 48
49void LoadMetadataToPublish(vector<DeviceMetadataPtr>& deviceMetadata, vector<MeasurementMetadataPtr>& measurementMetadata, vector<PhasorMetadataPtr>& phasorMetadata)49void LoadMetadataToPublish(vector<DeviceMetadataPtr>& deviceMetadata, vector<MeasurementMetadataPtr>& measurementMetadata, vector<PhasorMetadataPtr>& phasorMetadata)
50{50{
@@ -57,7 +57,7 @@ void LoadMetadataToPublish(vector<DeviceMetadataPtr>& deviceMetadata, vector<Mea · 6 unmodified lines
57 device1Metadata->UniqueID = NewGuid();57 device1Metadata->UniqueID = NewGuid();
58 device1Metadata->Longitude = 300;58 device1Metadata->Longitude = 300;
59 device1Metadata->Latitude = 200;59 device1Metadata->Latitude = 200;
60 device1Metadata->FramesPerSecond = 1;60 device1Metadata->FramesPerSecond = 30;
61 device1Metadata->ProtocolName = "GEP";61 device1Metadata->ProtocolName = "GEP";
62 device1Metadata->UpdatedOn = timestamp;62 device1Metadata->UpdatedOn = timestamp;
63 63
@@ -136,8 +136,8 @@ void LoadMetadataToPublish(vector<DeviceMetadataPtr>& deviceMetadata, vector<Mea · 72 unmodified lines
136//136//
137// This application accepts the port of the publisher via command line argument,137// This application accepts the port of the publisher via command line argument,
138// starts listening for subscriber connections, the displays summary information138// starts listening for subscriber connections, the displays summary information
139// about the measurements it publishes. It provides fourteen measurements, i.e.,139// about the measurements it publishes. It provides four manually defined
140// PPA:1 through PPA:14140// measurements, i.e., PPA:1 through PPA:4
141//141//
142// Measurements are transmitted via the TCP command channel.142// Measurements are transmitted via the TCP command channel.
143int main(int argc, char* argv[])143int main(int argc, char* argv[])
@@ -213,9 +213,9 @@ bool RunPublisher(uint16_t port) · 69 unmodified lines
213 Publisher->RegisterStatusMessageCallback(&DisplayStatusMessage);213 Publisher->RegisterStatusMessageCallback(&DisplayStatusMessage);
214 Publisher->RegisterErrorMessageCallback(&DisplayErrorMessage);214 Publisher->RegisterErrorMessageCallback(&DisplayErrorMessage);
215 Publisher->RegisterTemporalSubscriptionRequestedCallback(&HandleTemporalSubscriptionRequested);215 Publisher->RegisterTemporalSubscriptionRequestedCallback(&HandleTemporalSubscriptionRequested);
216 Publisher->RegisterTemporalProcessingIntervalChangeRequestedCallback(&HandleTemporalProcessingIntervalChangeRequested);216 Publisher->RegisterProcessingIntervalChangeRequestedCallback(&HandleProcessingIntervalChangeRequested);
217 217
218 // Enable temporal subscription support218 // Enable temporal subscription support - this allows historical data requests as well as real-time
219 Publisher->SetSupportsTemporalSubscriptions(true);219 Publisher->SetSupportsTemporalSubscriptions(true);
220 220
221 // Load metadata to be used for publication221 // Load metadata to be used for publication
@@ -235,7 +235,7 @@ bool RunPublisher(uint16_t port) · 13 unmodified lines
235 {235 {
236 static uint32_t count = MeasurementsToPublish.size();236 static uint32_t count = MeasurementsToPublish.size();
237 const int64_t timestamp = ToTicks(UtcNow());237 const int64_t timestamp = ToTicks(UtcNow());
238 vector<Measurement> measurements;238 vector<MeasurementPtr> measurements;
239 239
240 measurements.reserve(count);240 measurements.reserve(count);
241 241
@@ -243,10 +243,10 @@ bool RunPublisher(uint16_t port) · 1 unmodified line
243 for (size_t i = 0; i < count; i++)243 for (size_t i = 0; i < count; i++)
244 {244 {
245 const MeasurementMetadataPtr metadata = MeasurementsToPublish[i];245 const MeasurementMetadataPtr metadata = MeasurementsToPublish[i];
246 Measurement measurement;246 MeasurementPtr measurement = NewSharedPtr<Measurement>();
247 247
248 measurement.SignalID = metadata->SignalID;248 measurement->SignalID = metadata->SignalID;
249 measurement.Timestamp = timestamp;249 measurement->Timestamp = timestamp;
250 250
251 const float64_t randFraction = rand() / randMax;251 const float64_t randFraction = rand() / randMax;
252 const float64_t sign = randFraction > 0.5 ? 1.0 : -1.0;252 const float64_t sign = randFraction > 0.5 ? 1.0 : -1.0;
@@ -271,7 +271,7 @@ bool RunPublisher(uint16_t port) · 18 unmodified lines
271 break;271 break;
272 }272 }
273 273
274 measurement.Value = value;274 measurement->Value = value;
275 275
276 measurements.push_back(measurement);276 measurements.push_back(measurement);
277 }277 }
@@ -330,7 +330,7 @@ void HandleTemporalSubscriptionRequested(DataPublisher* source, const Subscriber · 52 unmodified lines
330 CompletionTimer->Start();330 CompletionTimer->Start();
331}331}
332 332
333void HandleTemporalProcessingIntervalChangeRequested(DataPublisher* source, const SubscriberConnectionPtr& connection)333void HandleProcessingIntervalChangeRequested(DataPublisher* source, const SubscriberConnectionPtr& connection)
334{334{
335 cout << "Client \"" << connection->GetConnectionID() << "\" with subscriber ID " << ToString(connection->GetSubscriberID()) << " has requested to change its temporal processing interval to " << ToString(connection->GetProcessingInterval()) << "ms" << endl << endl;335 cout << "Client \"" << connection->GetConnectionID() << "\" with subscriber ID " << ToString(connection->GetSubscriberID()) << " has requested to change its temporal processing interval to " << ToString(connection->GetProcessingInterval()) << "ms" << endl << endl;
336}336}

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