diff options
Diffstat (limited to 'llvm/lib/Telemetry/Telemetry.cpp')
| -rw-r--r-- | llvm/lib/Telemetry/Telemetry.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/lib/Telemetry/Telemetry.cpp b/llvm/lib/Telemetry/Telemetry.cpp new file mode 100644 index 000000000000..9e13d08334e3 --- /dev/null +++ b/llvm/lib/Telemetry/Telemetry.cpp @@ -0,0 +1,26 @@ +#include "llvm/Telemetry/Telemetry.h" + +namespace llvm { +namespace telemetry { + +void TelemetryInfo::serialize(Serializer &serializer) const { + serializer.write("SessionId", SessionId); +} + +Error Manager::dispatch(TelemetryInfo *Entry) { + if (Error Err = preDispatch(Entry)) + return Err; + + Error AllErrs = Error::success(); + for (auto &Dest : Destinations) { + AllErrs = joinErrors(std::move(AllErrs), Dest->receiveEntry(Entry)); + } + return AllErrs; +} + +void Manager::addDestination(std::unique_ptr<Destination> Dest) { + Destinations.push_back(std::move(Dest)); +} + +} // namespace telemetry +} // namespace llvm |
