← All compilation units

Flyology.Postgres.Server

Description

Authenticate

function Authenticate
(Context  : in out Handler_Context;
Startup  : Protocol.Startup_Information;
Password : String) return Boolean
Parameters
Context
Startup
Password
Return value

Authentication

Authentication : Authentication_Method := Trust;

Command_Timeout

Command_Timeout : Duration := Flyology.IO.Infinite;

Handle

procedure Handle
(Context : in out Handler_Context;
Client  : in out Server_Sessions.Session;
Command : Protocol.Message)
Parameters
Context
Client
Command

Handler_Context

type Handler_Context (<>) is limited private;

Handler_CPU

Handler_CPU     : System.Multiprocessors.CPU_Range :=
  System.Multiprocessors.Not_A_Specific_CPU;

Handler_Model

Handler_Model   : Flyology.Execution_Model := Flyology.Project_Default;

Lookup_SCRAM_Verifier

function Lookup_SCRAM_Verifier
(Context : in out Handler_Context;
Startup : Protocol.Startup_Information) return String

Return the Postgres rolpassword form SCRAM-SHA-256$iterations:salt$StoredKey:ServerKey, or "" when the startup user has no credential. Plaintext is never requested by the SCRAM authentication path.

Parameters
Context
Startup
Return value

Request_Shutdown

procedure Request_Shutdown (Item : in out Server)
Parameters
Item

Serve

procedure Serve
  (Item          : aliased in out Server;
   Listener      : in out Flyology.IO.Sockets.Socket_Type;
   Context       : aliased in out Handler_Context;
   Drain_Timeout : Duration := Flyology.IO.Infinite)
Parameters
Item
Listener
Context
Drain_Timeout

Server

type Server (Capacity : Positive) is limited private;
Record fields
Capacity

Startup_Timeout

Startup_Timeout : Duration := 30.0;

Write_Timeout

Write_Timeout   : Duration := 30.0;