90 lines
1.4 KiB
C++
Raw Permalink Normal View History

2025-03-07 02:25:53 +01:00
#include <seafire/protocol/message.hxx>
namespace seafire::protocol
{
/// Construct a new message.
///
message_t::
message_t() = default;
/// Construct a new message.
///
message_t::
message_t(version_t version)
: version_{version}
{}
/// Get the message version.
///
version_t const&
message_t::
version() const
{
return version_;
}
/// Set the message version.
///
void
message_t::
set_version(version_t v)
{
version_ = std::move(v);
}
/// Access the message headers.
///
header_collection_t const&
message_t::
headers() const
{
return headers_;
}
/// Set/replace message header.
///
void
message_t::
set_header(std::string name, std::string value)
{
headers_.set(std::move(name), std::move(value));
}
/// Append message header.
///
void
message_t::
append_header(std::string name, std::string value)
{
headers_.append(std::move(name), std::move(value));
}
/// Erase message header.
///
void
message_t::
erase_header(std::string name)
{
headers_.erase(name);
}
/// Set/replace message headers.
///
void
message_t::
set_headers(header_collection_t headers)
{
headers_ = std::move(headers);
}
/// Write headers to output stream.
///
std::ostream&
operator<<(std::ostream& o, message_t const& m)
{
return o << m.headers();
}
} // namespace seafire::protocol