Description
Adapts an owned plain Flyology connection to the HTTP transport boundary.
Arm_IO_Acquisition
procedure Arm_IO_Acquisition
(Item : in out Connection_Transport;
Operation : in out Flyology.Operations.Operation'Class)
Arm the HTTP operation for connection-lease readiness.
Parameters
- Item
Plain HTTP transport
- Operation
HTTP operation that owns readiness
Arm_IO_Transport
procedure Arm_IO_Transport
(Item : in out Connection_Transport;
Operation : in out Flyology.Operations.Operation'Class;
Required : Flyology.IO.Connections.Drivers.Step_Result)
Arm the HTTP operation for the readiness required by an I/O step.
Parameters
- Item
Plain HTTP transport
- Operation
HTTP operation that owns readiness
- Required
Need_Read or Need_Write from the preceding step
Connection_Transport
type Connection_Transport
(Channel : not null access Flyology.IO.Connections.Connection)
is limited new Flyology.HTTP.Server.Operation_Transport with private;
Borrowing adapter. Channel remains the sole closing owner and must outlive this object and every HTTP.Server.Connection that refers to it. The discriminant is the borrowed plain connection.
Poll_IO
procedure Poll_IO
(Item : in out Connection_Transport;
Result : out Flyology.IO.Connections.Drivers.Acquisition_Result)
Poll an armed connection-driver acquisition.
Parameters
- Item
Plain HTTP transport
- Result
Immediate acquisition result
Receive
procedure Receive
(Item : in out Connection_Transport;
Data : out Ada.Streams.Stream_Element_Array;
Last : out Ada.Streams.Stream_Element_Offset;
Timeout : Duration;
Token : access Flyology.Cancellation.Token)
Forward a receive through the owned plain connection.
Parameters
- Item
Plain HTTP transport
- Data
Destination buffer
- Last
Last received byte or close sentinel
- Timeout
Operation deadline
- Token
Optional cancellation source
Receive_IO
procedure Receive_IO
(Item : in out Connection_Transport;
Data : out Ada.Streams.Stream_Element_Array;
Last : out Ada.Streams.Stream_Element_Offset;
Result : out Flyology.IO.Connections.Drivers.Step_Result)
Perform one immediate bounded receive step.
Parameters
- Item
Plain HTTP transport
- Data
Destination buffer
- Last
Last received byte or no-progress sentinel
- Result
Progress, required readiness, or peer closure
Release_IO
procedure Release_IO (Item : in out Connection_Transport)
Release the connection-driver capability before terminal publication.
Parameters
- Item
Plain HTTP transport
Send_All
procedure Send_All
(Item : in out Connection_Transport;
Data : Ada.Streams.Stream_Element_Array;
Timeout : Duration;
Token : access Flyology.Cancellation.Token)
Forward a complete send through the owned plain connection.
Parameters
- Item
Plain HTTP transport
- Data
Source bytes
- Timeout
Operation deadline
- Token
Optional cancellation source
Send_IO
procedure Send_IO
(Item : in out Connection_Transport;
Data : Ada.Streams.Stream_Element_Array;
Last : out Ada.Streams.Stream_Element_Offset;
Result : out Flyology.IO.Connections.Drivers.Step_Result)
Perform one immediate bounded send step.
Parameters
- Item
Plain HTTP transport
- Data
Source buffer
- Last
Last sent byte or no-progress sentinel
- Result
Progress, required readiness, or peer closure
Start_IO
procedure Start_IO
(Item : in out Connection_Transport;
Operation : in out Flyology.Operations.Operation'Class;
Timeout : Duration;
Token : access Flyology.Cancellation.Token;
Result : out
Flyology.IO.Connections.Drivers.Acquisition_Result)
Start one bounded connection-driver acquisition.
Parameters
- Item
Plain HTTP transport
- Operation
HTTP operation that owns readiness
- Timeout
Shared acquisition and transport deadline
- Token
Optional cancellation source
- Result
Immediate acquisition result