History

TimeSeriesPlatformLibrary: Added initial compact measurement publication code.

J. Ritchie Carroll committed 7 years ago

Commit b4a3db91 parent e096cdb9 files · +177 −47Browse files

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

Unified · Split

Source/Libraries/TimeSeriesPlatformLibrary/Samples/SimplePublish.cpp+3−16
@@ -33,7 +33,7 @@ using namespace GSF::FilterExpressions; · 32 unmodified lines
33 33
34DataPublisherPtr Publisher;34DataPublisherPtr Publisher;
35TimerPtr PublishTimer;35TimerPtr PublishTimer;
36vector<tuple<MeasurementMetadataPtr, string, uint32_t>> MeasurementsToPublish;36vector<MeasurementMetadataPtr> MeasurementsToPublish;
37 37
38bool RunPublisher(uint16_t port);38bool RunPublisher(uint16_t port);
39void DisplayClientConnected(DataPublisher* source, const Guid& subscriberID, const string& connectionID);39void DisplayClientConnected(DataPublisher* source, const Guid& subscriberID, const string& connectionID);
@@ -125,17 +125,7 @@ bool RunPublisher(uint16_t port) · 85 unmodified lines
125 Publisher->DefineMetadata(DataSet::FromXml("Metadata.xml"));125 Publisher->DefineMetadata(DataSet::FromXml("Metadata.xml"));
126 126
127 // Filter metadata for measurements to publish, in this case, all non statistics127 // Filter metadata for measurements to publish, in this case, all non statistics
128 vector<MeasurementMetadataPtr> metadata = Publisher->FilterMetadata("SignalAcronym <> 'STAT'");128 MeasurementsToPublish = Publisher->FilterMetadata("SignalAcronym <> 'STAT'");
129 string source;
130 uint32_t id;
131
132 // Track publication metadata
133 for (size_t i = 0; i < metadata.size(); i++)
134 {
135 MeasurementMetadataPtr record = metadata[i];
136 ParseMeasurementKey(record->ID, source, id);
137 MeasurementsToPublish.emplace_back(record, source, id);
138 }
139 129
140 cout << "Loaded " << MeasurementsToPublish.size() << " measurement metadata records for publication." << endl << endl;130 cout << "Loaded " << MeasurementsToPublish.size() << " measurement metadata records for publication." << endl << endl;
141 131
@@ -152,12 +142,9 @@ bool RunPublisher(uint16_t port) · 10 unmodified lines
152 // Create new measurement values for publication142 // Create new measurement values for publication
153 for (size_t i = 0; i < count; i++)143 for (size_t i = 0; i < count; i++)
154 {144 {
155 auto record = MeasurementsToPublish[i];145 const MeasurementMetadataPtr metadata = MeasurementsToPublish[i];
156 Measurement measurement;146 Measurement measurement;
157 147
158 const MeasurementMetadataPtr& metadata = get<0>(record);
159 measurement.ID = get<2>(record);
160 measurement.Source = get<1>(record);
161 measurement.SignalID = metadata->SignalID;148 measurement.SignalID = metadata->SignalID;
162 measurement.Timestamp = timestamp;149 measurement.Timestamp = timestamp;
163 measurement.Value = float64_t(rand());150 measurement.Value = float64_t(rand());

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