dm_rpc_send Interface

public interface dm_rpc_send

Generic RPC send function.

Calls

interface~~dm_rpc_send~~CallsGraph interface~dm_rpc_send dm_rpc_send proc~dm_rpc_send_type dm_rpc_send_type interface~dm_rpc_send->proc~dm_rpc_send_type proc~dm_rpc_send_types dm_rpc_send_types interface~dm_rpc_send->proc~dm_rpc_send_types interface~dm_z_valid dm_z_valid proc~dm_rpc_send_type->interface~dm_z_valid proc~dm_is_error dm_is_error proc~dm_rpc_send_type->proc~dm_is_error proc~dm_z_compress_type dm_z_compress_type proc~dm_rpc_send_type->proc~dm_z_compress_type proc~dm_rpc_send_types->interface~dm_z_valid proc~dm_rpc_send_types->proc~dm_is_error proc~dm_rpc_send_types->proc~dm_z_compress_type proc~dm_zstd_destroy dm_zstd_destroy proc~dm_rpc_send_types->proc~dm_zstd_destroy proc~dm_z_valid_type dm_z_valid_type interface~dm_z_valid->proc~dm_z_valid_type proc~dm_z_compress_type->interface~dm_z_valid proc~dm_z_compress_type->proc~dm_is_error interface~dm_nml_from dm_nml_from proc~dm_z_compress_type->interface~dm_nml_from interface~dm_zstd_compress dm_zstd_compress proc~dm_z_compress_type->interface~dm_zstd_compress proc~dm_zlib_compress dm_zlib_compress proc~dm_z_compress_type->proc~dm_zlib_compress zstd_free_c_ctx zstd_free_c_ctx proc~dm_zstd_destroy->zstd_free_c_ctx zstd_free_d_ctx zstd_free_d_ctx proc~dm_zstd_destroy->zstd_free_d_ctx zstd_is_error zstd_is_error proc~dm_zstd_destroy->zstd_is_error compress compress proc~dm_zlib_compress->compress compress_bound compress_bound proc~dm_zlib_compress->compress_bound

Module Procedures

public function dm_rpc_send_type(request, response, type, url, username, password, user_agent, compression) result(rc)

Sends a single derived type in Namelist format to a given URL, with optional authentication and compression. The URL has to be the API endpoint that accepts HTTP POST requests.

Read more…

Arguments

Type IntentOptional Attributes Name
type(rpc_request_type), intent(inout) :: request

RPC request type.

type(rpc_response_type), intent(out) :: response

RPC response type.

class(*), intent(inout) :: type

Derived type.

character(len=*), intent(in), optional :: url

URL of RPC API (may include port).

character(len=*), intent(in), optional :: username

HTTP Basic Auth user name.

character(len=*), intent(in), optional :: password

HTTP Basic Auth password.

character(len=*), intent(in), optional :: user_agent

HTTP User Agent.

integer, intent(in), optional :: compression

Deflate or Zstandard compression of payload for POST requests (Z_TYPE_*).

Return Value integer

public function dm_rpc_send_types(requests, responses, types, url, username, password, user_agent, compression, sequential) result(rc)

Sends multiple derived types concurrently in Namelist format to the given URL, with optional authentication and compression. The URL has to be the API endpoint that accepts HTTP POST requests.

Read more…

Arguments

Type IntentOptional Attributes Name
type(rpc_request_type), intent(inout) :: requests(:)

RPC request type array.

type(rpc_response_type), intent(out), allocatable :: responses(:)

RPC response type array.

class(*), intent(inout) :: types(:)

Derived type array.

character(len=*), intent(in), optional :: url

URL of RPC API (may include port).

character(len=*), intent(in), optional :: username

HTTP Basic Auth user name.

character(len=*), intent(in), optional :: password

HTTP Basic Auth password.

character(len=*), intent(in), optional :: user_agent

HTTP User Agent.

integer, intent(in), optional :: compression

Deflate or Zstandard compression of payload for POST requests (Z_TYPE_*).

logical, intent(in), optional :: sequential

Sequential instead of concurrent transfer.

Return Value integer