def thriftmux()

in src/main/scala/com/twitter/iago/server/ThriftTransport.scala [24:64]


  def thriftmux(config: ParrotServerFlags) =
    apply(config, true)

  def apply(config: ParrotServerFlags) =
    apply(config, false)

  def apply(config: ParrotServerFlags, useThriftMux: Boolean) = {
    val thriftClientId =
      config.thriftClientIdF() match {
        case "" => None
        case id => Some(ClientId(id))
      }

    val thriftProtocolFactory = config.thriftProtocolFactory
    val builder = if (useThriftMux) {
      val client = ThriftMux.client
        .withProtocolFactory(thriftProtocolFactory)
        .configured(Thrift.param.ClientId(thriftClientId))
      config.parrotClientBuilder.stack(client)
    } else {
      val client = Thrift.client
        .withProtocolFactory(thriftProtocolFactory)
        .configured(Thrift.param.ClientId(thriftClientId))
      config.parrotClientBuilder.stack(client)
    }

    val builder2 = {
      if (config.transportScheme == TransportScheme.THRIFTS) builder.tlsWithoutValidation()
      else builder
    }

    val builder3 = {
      config.victim match {
        case HostPortListVictim(victims) => builder2.hosts(victims)
        case ServerSetVictim(cluster) => builder2.dest(cluster)
        case FinagleDestVictim(dest) => builder2.dest(dest)
      }
    }

    new ThriftTransport(new RefcountedService(builder3.build()))
  }