Document async and inetaddress DNS (#25414)

* Document async and inetaddress DNS

Closes #25307
This commit is contained in:
Christopher Batey 2018-09-17 08:11:34 +01:00 committed by GitHub
parent c132a81f0a
commit 8ba4de386f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 212 additions and 10 deletions

View file

@ -0,0 +1,49 @@
/*
* Copyright (C) 2018 Lightbend Inc. <https://www.lightbend.com>
*/
package docs.actor.io.dns
import akka.actor.{ ActorRef, ActorSystem }
import akka.io.dns.DnsProtocol
import akka.io.dns.DnsProtocol.Srv
import akka.pattern.ask
import akka.io.{ Dns, IO }
import akka.util.Timeout
import scala.concurrent.Future
import scala.concurrent.duration._
object DnsCompileOnlyDocSpec {
implicit val system = ActorSystem()
implicit val timeout = Timeout(1.second)
val actorRef: ActorRef = ???
//#resolve
val initial: Option[Dns.Resolved] = Dns(system).cache.resolve("google.com")(system, actorRef)
val cached: Option[Dns.Resolved] = Dns(system).cache.cached("google.com")
//#resolve
{
//#actor-api-inet-address
val resolved: Future[Dns.Resolved] = (IO(Dns) ? Dns.Resolve("google.com")).mapTo[Dns.Resolved]
//#actor-api-inet-address
}
{
//#actor-api-async
val resolved: Future[DnsProtocol.Resolved] = (IO(Dns) ? DnsProtocol.Resolve("google.com")).mapTo[DnsProtocol.Resolved]
//#actor-api-async
}
{
//#srv
val resolved: Future[DnsProtocol.Resolved] = (IO(Dns) ? DnsProtocol.Resolve("your-service", Srv))
.mapTo[DnsProtocol.Resolved]
//#srv
}
}