## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup--------------------------------------------------------------------
library(raddr)

## -----------------------------------------------------------------------------
addr_parse("0177.0.0.1")

## -----------------------------------------------------------------------------
literals <- c("0177.0.0.1", "192.0.048.1", "4294967296")

addr_strict(literals)
addr_whatwg(literals)
addr_pton(literals)
addr_aton(literals)

## -----------------------------------------------------------------------------
p <- addr_parse(literals)
p

## -----------------------------------------------------------------------------
addr_reading(p, "whatwg")
addr_reading(p, "pton")

## -----------------------------------------------------------------------------
addr_codes(p, "strict")
addr_outcome(p, "strict")

## -----------------------------------------------------------------------------
statuses <- addr_parse(c("127.0.0.1", "0177.0.0.1", "example.com", "999.1.1.1"))
addr_status(statuses)

## -----------------------------------------------------------------------------
addr_codes(statuses[3])
addr_codes(statuses[4])

## -----------------------------------------------------------------------------
addr_whatwg("192.0.048.1")
addr_curl("192.0.048.1")

## -----------------------------------------------------------------------------
addr_reading(p, "curl")
addr_reading(p, "getaddrinfo")

## -----------------------------------------------------------------------------
addr_pton("fe80:abcd::1")
addr_getaddrinfo("fe80:abcd::1")
addr_zone(addr_getaddrinfo("fe80:abcd::1"))

## -----------------------------------------------------------------------------
addr_pton("fe80::1%lo0") == addr_pton("fe80::1%en0")

## -----------------------------------------------------------------------------
addrs <- addr_getaddrinfo(
  c("127.0.0.1", "100.64.0.1", "2001:db8::1", "2002::1")
)
addr_classify(addrs)

## ----error = TRUE-------------------------------------------------------------
try({
addr_classify("127.0.0.1")
})

## ----error = TRUE-------------------------------------------------------------
try({
addr_classify(addr_parse("0177.0.0.1"))
})

## -----------------------------------------------------------------------------
teredo <- addr_classify(addr_pton("2001::1"))
as.data.frame(teredo)[
  , c("name", "globally_reachable", "footnotes", "registry")
]

## -----------------------------------------------------------------------------
as.data.frame(addr_classify(addr_pton("192.88.99.1")))[
  , c("name", "globally_reachable", "termination_date")
]

