public class ExtendedQueryProtocolHandler
Handles the message flow for the extended query protocol. Wire-protocol messages are buffered in memory until a flush/sync is received.
Constructors
ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler)
public ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler)
Creates an ExtendedQueryProtocolHandler for the given connection.
Parameter | |
---|---|
Name | Description |
connectionHandler | ConnectionHandler |
ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler, BackendConnection backendConnection)
public ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler, BackendConnection backendConnection)
Constructor only intended for testing.
Parameters | |
---|---|
Name | Description |
connectionHandler | ConnectionHandler |
backendConnection | BackendConnection |
Methods
buffer(AbstractQueryProtocolMessage message)
public void buffer(AbstractQueryProtocolMessage message)
Buffer an extended query protocol message for execution when the next flush/sync message is received.
Parameter | |
---|---|
Name | Description |
message | AbstractQueryProtocolMessage |
flush()
public void flush()
Flushes the current queue of messages. Any pending database statements are first executed, before sending the wire-protocol responses to the frontend. A flush does not commit the implicit transaction (if any).
This method will execute a #sync() if it determines that the next message in the buffer is a Sync message.
Exceptions | |
---|---|
Type | Description |
Exception |
getBackendConnection()
public BackendConnection getBackendConnection()
Returns the backend PG connection for this query handler.
Returns | |
---|---|
Type | Description |
BackendConnection |
sync()
public void sync()
Flushes the current queue of messages and commits the implicit transaction (if any). Any pending database statements are first executed, before sending the wire-protocol responses to the frontend.
Exceptions | |
---|---|
Type | Description |
Exception |