#pragma once

#include <cstdint>
#include <string>
#include <vector>

namespace softbus::core {

struct RawPacket {
    std::string traceId;
    int64_t timestampNs{0};
    std::string runtimeDeviceId;
    std::string sourceId;
    std::string protocolTag;
    std::vector<uint8_t> payload;

    RawPacket() = default;

    RawPacket(std::string trace, int64_t ts, std::string runtimeId, std::string source,
              std::string protocol, std::vector<uint8_t> data)
        : traceId(std::move(trace))
        , timestampNs(ts)
        , runtimeDeviceId(std::move(runtimeId))
        , sourceId(std::move(source))
        , protocolTag(std::move(protocol))
        , payload(std::move(data))
    {
    }
};

} // namespace softbus::core
