All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.twitter.finagle.mdns.Local.scala Maven / Gradle / Ivy

There is a newer version: 6.38.0
Show newest version
package com.twitter.finagle.mdns

import com.twitter.finagle.{Announcement, Announcer, Addr, Resolver, Name}
import com.twitter.util.{Future, Var}
import java.net.InetSocketAddress

private object Local {
  def mkAddr(name: String) = "mdns!" + name + "._finagle._tcp.local."
}

class LocalAnnouncer extends Announcer {
  val scheme = "local"

  def announce(ia: InetSocketAddress, addr: String): Future[Announcement] =
    Announcer.announce(ia, Local.mkAddr(addr))
}

class LocalResolver extends Resolver {
  val scheme = "local"

  def bind(arg: String): Var[Addr]= {
    val Name.Bound(va) = Resolver.eval(Local.mkAddr(arg))
    va
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy