← All compilation units

Flyology.Postgres.Transports.Connections

Description

PostgreSQL transport adapter for a cancellable Flyology connection.

Arm_Acquisition

procedure Arm_Acquisition
  (Item      : in out Connection_Transport;
   Operation : in out Flyology.Operations.Operation'Class)
Parameters
Item
Operation

Arm_Transport

procedure Arm_Transport
  (Item      : in out Connection_Transport;
   Operation : in out Flyology.Operations.Operation'Class;
   Required  : Step_Result)
Parameters
Item
Operation
Required

Cancel_Operation

procedure Cancel_Operation
  (Item : in out Connection_Transport)
Parameters
Item

Connection_Transport

type Connection_Transport
  (Channel : not null access Flyology.IO.Connections.Connection;
   Token   : access Flyology.Cancellation.Token)
is limited new TLS_Upgradable_Transport and Operation_Transport
  with private;

Non-owning view of Channel with optional cooperative cancellation.

Poll_Acquisition

procedure Poll_Acquisition
  (Item   : in out Connection_Transport;
   Result : out Acquisition_Result)
Parameters
Item
Result

Receive_Exactly

procedure Receive_Exactly
  (Item    : in out Connection_Transport;
   Data    : out Ada.Streams.Stream_Element_Array;
   Timeout : Duration;
   On_Wait : access Wait_Observer'Class := null)

Fill Data from the adapted connection.

Parameters
Item

Connection adapter to read.

Data

Buffer filled with exactly Data'Length bytes.

Timeout

Maximum time allowed for the complete read.

On_Wait

Receive_Step

procedure Receive_Step
  (Item   : in out Connection_Transport;
   Data   : out Ada.Streams.Stream_Element_Array;
   Last   : out Ada.Streams.Stream_Element_Offset;
   Result : out Step_Result)
Parameters
Item
Data
Last
Result

Release_Operation

procedure Release_Operation
  (Item : in out Connection_Transport)
Parameters
Item

Send_All

procedure Send_All
  (Item    : in out Connection_Transport;
   Data    : Ada.Streams.Stream_Element_Array;
   Timeout : Duration)

Write every byte of Data to the adapted connection.

Parameters
Item

Connection adapter to write.

Data

Complete buffer to transmit.

Timeout

Maximum time allowed for the complete write.

Send_Step

procedure Send_Step
  (Item   : in out Connection_Transport;
   Data   : Ada.Streams.Stream_Element_Array;
   Last   : out Ada.Streams.Stream_Element_Offset;
   Result : out Step_Result)
Parameters
Item
Data
Last
Result

Start_Operation

procedure Start_Operation
  (Item      : in out Connection_Transport;
   Operation : in out Flyology.Operations.Operation'Class;
   Result    : out Acquisition_Result;
   Timeout   : Duration)
Parameters
Item
Operation
Result
Timeout

Upgrade_TLS

procedure Upgrade_TLS
  (Item        : in out Connection_Transport;
   Backend     : in out Flyology.IO.TLS.Provider'Class;
   Server_Name : String;
   Timeout     : Duration)

Upgrade Channel to a verified TLS connection in place.

Parameters
Item

Connection adapter to upgrade.

Backend

TLS provider and trust configuration to use.

Server_Name

DNS name checked during certificate verification.

Timeout

Maximum time allowed for the handshake.