A MessageSocket
that buffers incoming messages, removing and handling asynchronous back-end messages. This splits the protocol into a [logically] synchronous message exchange plus a set of out-of-band broadcast channels that can be observed or ignored at the user's discretion.
Attributes
- Companion
- object
- Source
- BufferedMessageSocket.scala
- Graph
-
- Supertypes
Members list
Value members
Abstract methods
Attributes
- Source
- BufferedMessageSocket.scala
Stream
of all channel notifications that this Session
is subscribed to.
Stream
of all channel notifications that this Session
is subscribed to. Note that once such a stream is started it is important to consume all notifications as quickly as possible to avoid blocking message processing for other operations on the Session
(although typically a dedicated Session
will receive channel notifications so this won't be an issue).
Value parameters
- maxQueued
-
the maximum number of notifications to hold in a queue before [semantically] blocking message exchange on the controlling
Session
.
Attributes
- See also
- Source
- BufferedMessageSocket.scala
Signal representing the current state of all Postgres configuration variables announced to this session.
Signal representing the current state of all Postgres configuration variables announced to this session. These are sent after authentication and are updated asynchronously if the runtime environment changes. The current keys are as follows (with example values), but these may change with future releases so you should be prepared to handle unexpected ones.
Map(
"application_name" -> "",
"client_encoding" -> "UTF8",
"DateStyle" -> "ISO, MDY",
"integer_datetimes" -> "on", // cannot change after startup
"IntervalStyle" -> "postgres",
"is_superuser" -> "on",
"server_encoding" -> "UTF8", // cannot change after startup
"server_version" -> "9.5.3", // cannot change after startup
"session_authorization" -> "postgres",
"standard_conforming_strings" -> "on",
"TimeZone" -> "US/Pacific",
)
Attributes
- Source
- BufferedMessageSocket.scala
Signal
broadcasting the current TransactionStatus
which is reported after each completed message exchange.
Signal
broadcasting the current TransactionStatus
which is reported after each completed message exchange. Note that this value may be stale in the case of a raised exception, which should prompt the front end to send a Sync
message but currently does not.
Attributes
- Source
- BufferedMessageSocket.scala
Inherited methods
Attributes
- Inherited from:
- MessageSocket
- Source
- MessageSocket.scala
Attributes
- Inherited from:
- MessageSocket
- Source
- MessageSocket.scala
Destructively read the last n
messages from the circular buffer.
Destructively read the last n
messages from the circular buffer.
Attributes
- Inherited from:
- MessageSocket
- Source
- MessageSocket.scala
Receive the next BackendMessage
, or raise an exception if EOF is reached before a complete message arrives.
Receive the next BackendMessage
, or raise an exception if EOF is reached before a complete message arrives.
Attributes
- Inherited from:
- MessageSocket
- Source
- MessageSocket.scala
Send the specified message.