mirror of
https://github.com/clearlinux/folly.git
synced 2026-09-01 02:34:43 +00:00
IPAddressV6::kToFullyQualifiedSize.
Summary: [Folly] IPAddressV6::kToFullyQualifiedSize. The scenario: One has a string known to be a fully-qualified IPv4 or fully-qualified IPv6 address, but one does not know which of the two it is. The dirty but fast solution: just check its size. Test Plan: Build. Unit tests. Reviewed By: mshneer@fb.com Subscribers: folly-diffs@, dougw, yfeldblum, chalfant, brettp FB internal diff: D2016634 Signature: t1:2016634:1429831808:08ecb28eab3060988f9613748ed8dabf3724bf13
This commit is contained in:
committed by
Alecs King
parent
b79405c612
commit
8ab68e82e4
@@ -82,6 +82,10 @@ class IPAddressV6 : boost::totally_ordered<IPAddressV6> {
|
||||
// Binary prefix for 6to4 networks
|
||||
static const uint32_t PREFIX_6TO4;
|
||||
|
||||
// Size of std::string returned by toFullyQualified.
|
||||
static constexpr size_t kToFullyQualifiedSize =
|
||||
8 /*words*/ * 4 /*hex chars per word*/ + 7 /*separators*/;
|
||||
|
||||
/**
|
||||
* Create a new IPAddress instance from the provided binary data.
|
||||
* @throws IPAddressFormatException if the input length is not 16 bytes.
|
||||
|
||||
@@ -409,6 +409,11 @@ TEST(IPAddress, ToFullyQualifiedLocal) {
|
||||
EXPECT_EQ("0000:0000:0000:0000:0000:0000:0000:0001", ip.toFullyQualified())
|
||||
<< ip;
|
||||
}
|
||||
TEST(IPAddress, ToFullyQualifiedSize) {
|
||||
auto actual = IPAddressV6::kToFullyQualifiedSize;
|
||||
auto expected = IPAddress("::").toFullyQualified().size();
|
||||
EXPECT_EQ(expected, actual);
|
||||
}
|
||||
|
||||
// test v4-v6 mapped addresses
|
||||
TEST_P(IPAddressMappedTest, MappedEqual) {
|
||||
|
||||
Reference in New Issue
Block a user