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

com.twitter.inject.server.PortUtils.scala Maven / Gradle / Ivy

The newest version!
package com.twitter.inject.server

import com.twitter.app.Flaggable
import com.twitter.finagle.ListeningServer
import com.twitter.finagle.builder.{Server => BuilderServer}
import java.net.{InetAddress, InetSocketAddress, SocketAddress}

object PortUtils {

  def ephemeralLoopback: String = {
    loopbackAddressForPort(0)
  }

  def loopbackAddress = {
    InetAddress.getLoopbackAddress.getHostAddress
  }

  def loopbackAddressForPort(port: Int) = {
    s"$loopbackAddress:$port"
  }

  def getPort(server: ListeningServer): Int = {
    getPort(server.boundAddress)
  }

  def getPort(socketAddress: SocketAddress): Int = {
    socketAddress.asInstanceOf[InetSocketAddress].getPort
  }

  def getPort(server: BuilderServer): Int = {
    getSocketAddress(server).asInstanceOf[InetSocketAddress].getPort
  }

  def getSocketAddress(server: BuilderServer): SocketAddress = {
    server.boundAddress
  }

  def parseAddr(addrStr: String): InetSocketAddress = {
    Flaggable.ofInetSocketAddress.parse(addrStr)
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy