class TlsHandshakeTransporter extends Transporter[Buf, Buf, TransportContext]
The Postgres protocol doesn't use its standard packet format during TLS negotiation.
https://www.postgresql.org/docs/9.3/protocol-flow.html#AEN100021
The flow is that the client should request TLS using the FrontendMessage.SslRequest message. The backend responds with a single, unframed byte: either 'S' or 'N'.
* 'S' means that the backend is willing to continue with TLS negotiation * 'N' means that the backend doesn't support TLS
Once TLS negotiation is successful, this transport will insert the provided Framer into the netty pipeline, where it would have been inserted by Netty4ClientChannelInitializer.
This unfortunately requires reaching behind Finagle's abstractions a little bit.
- Alphabetic
- By Inheritance
- TlsHandshakeTransporter
- Transporter
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TlsHandshakeTransporter(remoteAddress: SocketAddress, params: Params, framerFactory: () => Framer)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(): Future[Transport[Buf, Buf] { type Context <: com.twitter.finagle.transport.TransportContext }]
- Definition Classes
- TlsHandshakeTransporter → Transporter
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val remoteAddress: SocketAddress
The address of the remote peer that this
Transporter
connects to.The address of the remote peer that this
Transporter
connects to.- Definition Classes
- TlsHandshakeTransporter → Transporter
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()