Showing the changes to Source/Libraries/TimeSeriesPlatformLibrary/Samples/SimplePublish.cpp (1 of 9 files). Show all
Unified · Split
| @@ -33,7 +33,7 @@ using namespace GSF::FilterExpressions; · 32 unmodified lines | |||
| 33 | 33 | ||
| 34 | DataPublisherPtr Publisher; | 34 | DataPublisherPtr Publisher; |
| 35 | TimerPtr PublishTimer; | 35 | TimerPtr PublishTimer; |
| 36 | vector<tuple<MeasurementMetadataPtr, string, uint32_t>> MeasurementsToPublish; | 36 | vector<MeasurementMetadataPtr> MeasurementsToPublish; |
| 37 | 37 | ||
| 38 | bool RunPublisher(uint16_t port); | 38 | bool RunPublisher(uint16_t port); |
| 39 | void DisplayClientConnected(DataPublisher* source, const Guid& subscriberID, const string& connectionID); | 39 | void 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 statistics | 127 | // 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 publication | 142 | // 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()); |