25#include <seastar/net/socket_defs.hh>
26#include <seastar/core/byteorder.hh>
35 using ipv6_bytes = std::array<uint8_t, 16>;
37 static_assert(
alignof(ipv6_bytes) == 1,
"ipv6_bytes should be byte-aligned");
38 static_assert(
sizeof(ipv6_bytes) == 16,
"ipv6_bytes should be 16 bytes");
52 template <
typename Adjuster>
53 auto adjust_endianness(Adjuster a) {
return a(ip); }
56 return bytes() == y.bytes();
62 const ipv6_bytes& bytes()
const noexcept {
66 bool is_unspecified()
const noexcept;
70 void write(
char* p)
const noexcept;
71 void produce(
char*& p)
const noexcept;
72 static constexpr size_t size() {
73 return sizeof(ipv6_bytes);
77std::ostream& operator<<(std::ostream&,
const ipv6_address&);
Seastar API namespace.
Definition: abort_on_ebadf.hh:26
Definition: socket_defs.hh:136
Definition: ipv6_address.hh:34
Definition: unaligned.hh:58