case class HandshakeMachine(credentials: Credentials, database: Database, statementTimeout: StatementTimeout, sessionDefaults: SessionDefaults) extends StateMachine[ConnectionParameters] with Product with Serializable
Implements the "Start-up" message flow described here https://www.postgresql.org/docs/current/protocol-flow.html#id-1.10.5.7.3
This process involves authenticating the client and accumulating parameters about the server's configuration for this connection. Failure to authenticate will produce an exception. A successful response Response.ConnectionParameters which includes the connection's parameters such as character encoding and timezone.
- Alphabetic
- By Inheritance
- HandshakeMachine
- Serializable
- Product
- Equals
- StateMachine
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new HandshakeMachine(credentials: Credentials, database: Database, statementTimeout: StatementTimeout, sessionDefaults: SessionDefaults)
Type Members
- case class BackendStarting(params: List[ParameterStatus], bkd: Option[BackendKeyData]) extends State with Product with Serializable
- sealed trait State extends AnyRef
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val credentials: Credentials
- val database: Database
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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()
- 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()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def receive(state: State, msg: BackendMessage): TransitionResult[State, ConnectionParameters]
Given the current state and a message from the backend server, this method will produce the appropriate transition to execute.
Given the current state and a message from the backend server, this method will produce the appropriate transition to execute.
Specifically, this may be additional messages to send to the backend, a response to send to the client, etc.
- state
the current state of the connection previously returned by a call to
start
orreceive
.- msg
the message received from the backend server
- returns
the transition to execute to realize the new state
- Definition Classes
- HandshakeMachine → StateMachine
- val sessionDefaults: SessionDefaults
- def start: TransitionResult[State, ConnectionParameters]
The initial transition to execute upon starting this particular machine.
The initial transition to execute upon starting this particular machine. Normally, this will contain
Send
actions to send messages to the Postgres backend.- returns
the initial transition to execute upon starting the machine.
- Definition Classes
- HandshakeMachine → StateMachine
- val statementTimeout: StatementTimeout
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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()
- case object Authenticating extends State with Product with Serializable