.. index:: single: http_socket_transport .. _http_socket_transport/0: .. rst-class:: right **object** ``http_socket_transport`` ========================= Sockets-backed HTTP transport predicates built on top of the ``sockets``, ``http_client_core``, and ``http_server_core`` libraries. | **Availability:** | ``logtalk_load(http_socket_transport(loader))`` | **Author:** Paulo Moura | **Version:** 1:0:0 | **Date:** 2026-07-08 | **Compilation flags:** | ``static, context_switching_calls, threaded`` | **Implements:** | ``public`` :ref:`http_transport_protocol ` | **Imports:** | ``public`` :ref:`options ` | ``public`` :ref:`http_message_helpers ` | ``public`` :ref:`http_text_helpers ` | **Uses:** | :ref:`http_client_core ` | :ref:`http_core ` | :ref:`http_server_core ` | :ref:`list ` | :ref:`socket ` | :ref:`user ` | **Remarks:** | (none) | **Inherited public predicates:** |  :ref:`options_protocol/0::check_option/1`  :ref:`options_protocol/0::check_options/1`  :ref:`http_transport_protocol/0::close_connection/1`  :ref:`http_transport_protocol/0::close_connection_pool/1`  :ref:`http_transport_protocol/0::close_listener/1`  :ref:`http_transport_protocol/0::connection_pool_stats/2`  :ref:`http_transport_protocol/0::connection_streams/3`  :ref:`options_protocol/0::default_option/1`  :ref:`options_protocol/0::default_options/1`  :ref:`http_transport_protocol/0::exchange/3`  :ref:`http_transport_protocol/0::exchange/4`  :ref:`http_transport_protocol/0::exchange/5`  :ref:`http_transport_protocol/0::exchange_sequence/3`  :ref:`http_transport_protocol/0::exchange_sequence/4`  :ref:`http_transport_protocol/0::open_connection/4`  :ref:`http_transport_protocol/0::open_connection_pool/4`  :ref:`http_transport_protocol/0::open_listener/4`  :ref:`options_protocol/0::option/2`  :ref:`options_protocol/0::option/3`  :ref:`http_transport_protocol/0::request_listener_shutdown/1`  :ref:`http_transport_protocol/0::request_shutdown/1`  :ref:`http_transport_protocol/0::serve_listener/4`  :ref:`http_transport_protocol/0::serve_listener/5`  :ref:`http_transport_protocol/0::serve_once/3`  :ref:`http_transport_protocol/0::serve_until_shutdown/4`  :ref:`http_transport_protocol/0::serve_until_shutdown/5`  :ref:`http_transport_protocol/0::serve_websocket_once/5`  :ref:`http_transport_protocol/0::supported_request_scheme/1`  :ref:`http_transport_protocol/0::supported_websocket_scheme/1`  :ref:`options_protocol/0::valid_option/1`  :ref:`options_protocol/0::valid_options/1`   .. contents:: :local: :backlinks: top Public predicates ----------------- (no local declarations; see entity ancestors if any) Protected predicates -------------------- (no local declarations; see entity ancestors if any) Private predicates ------------------ .. index:: connection_pool_seed_/1 .. _http_socket_transport/0::connection_pool_seed_/1: ``connection_pool_seed_/1`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Last allocated connection pool identifier. | **Compilation flags:** | ``dynamic`` | **Template:** | ``connection_pool_seed_(PoolId)`` | **Mode and number of proofs:** | ``connection_pool_seed_(?positive_integer)`` - ``zero_or_one`` ------------ .. index:: connection_pool_config_/6 .. _http_socket_transport/0::connection_pool_config_/6: ``connection_pool_config_/6`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Stored connection pool configuration indexed by pool identifier. | **Compilation flags:** | ``dynamic`` | **Template:** | ``connection_pool_config_(PoolId,Host,Port,MinSize,MaxSize,ConnectionOptions)`` | **Mode and number of proofs:** | ``connection_pool_config_(?positive_integer,?atom,?integer,?non_negative_integer,?positive_integer,?list)`` - ``zero_or_more`` ------------ .. index:: connection_pool_available_/2 .. _http_socket_transport/0::connection_pool_available_/2: ``connection_pool_available_/2`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Reusable idle client connections indexed by pool identifier. | **Compilation flags:** | ``dynamic`` | **Template:** | ``connection_pool_available_(PoolId,Connection)`` | **Mode and number of proofs:** | ``connection_pool_available_(?positive_integer,?compound)`` - ``zero_or_more`` ------------ .. index:: connection_pool_in_use_/2 .. _http_socket_transport/0::connection_pool_in_use_/2: ``connection_pool_in_use_/2`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Checked-out client connections indexed by pool identifier. | **Compilation flags:** | ``dynamic`` | **Template:** | ``connection_pool_in_use_(PoolId,Connection)`` | **Mode and number of proofs:** | ``connection_pool_in_use_(?positive_integer,?compound)`` - ``zero_or_more`` ------------ .. index:: listener_shutdown_seed_/1 .. _http_socket_transport/0::listener_shutdown_seed_/1: ``listener_shutdown_seed_/1`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Last allocated shutdown run identifier for open-ended listener loops. | **Compilation flags:** | ``dynamic`` | **Template:** | ``listener_shutdown_seed_(RunId)`` | **Mode and number of proofs:** | ``listener_shutdown_seed_(?positive_integer)`` - ``zero_or_one`` ------------ .. index:: listener_shutdown_control_/3 .. _http_socket_transport/0::listener_shutdown_control_/3: ``listener_shutdown_control_/3`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Registered shutdown control terms and their associated listeners. | **Compilation flags:** | ``dynamic`` | **Template:** | ``listener_shutdown_control_(Control,Listener,RunId)`` | **Mode and number of proofs:** | ``listener_shutdown_control_(?nonvar,?compound,?positive_integer)`` - ``zero_or_more`` ------------ .. index:: listener_shutdown_requested_/2 .. _http_socket_transport/0::listener_shutdown_requested_/2: ``listener_shutdown_requested_/2`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Recorded shutdown requests indexed by control term and run identifier. | **Compilation flags:** | ``dynamic`` | **Template:** | ``listener_shutdown_requested_(Control,RunId)`` | **Mode and number of proofs:** | ``listener_shutdown_requested_(?nonvar,?positive_integer)`` - ``zero_or_more`` ------------ .. index:: listener_active_worker_/3 .. _http_socket_transport/0::listener_active_worker_/3: ``listener_active_worker_/3`` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Active listener worker records indexed by control term and run identifier. | **Compilation flags:** | ``dynamic`` | **Template:** | ``listener_active_worker_(Control,RunId,Worker)`` | **Mode and number of proofs:** | ``listener_active_worker_(?nonvar,?positive_integer,?compound)`` - ``zero_or_more`` ------------ .. index:: listener_endpoint_/3 .. _http_socket_transport/0::listener_endpoint_/3: ``listener_endpoint_/3`` ^^^^^^^^^^^^^^^^^^^^^^^^ Stored listener endpoints indexed by listener handle. | **Compilation flags:** | ``dynamic`` | **Template:** | ``listener_endpoint_(Listener,Host,Port)`` | **Mode and number of proofs:** | ``listener_endpoint_(?compound,?atom,?integer)`` - ``zero_or_more`` ------------ Operators --------- (none)