dm_rpc_post_types Function

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

Uses

  • proc~~dm_rpc_post_types~~UsesGraph proc~dm_rpc_post_types dm_rpc_post_types module~dm_zstd dm_zstd proc~dm_rpc_post_types->module~dm_zstd iso_c_binding iso_c_binding module~dm_zstd->iso_c_binding module~dm_error dm_error module~dm_zstd->module~dm_error module~dm_kind dm_kind module~dm_zstd->module~dm_kind zstd zstd module~dm_zstd->zstd module~dm_error->module~dm_kind module~dm_ascii dm_ascii module~dm_error->module~dm_ascii iso_fortran_env iso_fortran_env module~dm_kind->iso_fortran_env

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.

The dummy argument types may be of derived type beat_type, log_type, node_type, observ_type, sensor_type, or target_type. The function returns E_TYPE on any other type.

If sequential is .true., the transfer will be sequentially instead of concurrently. The number of requests must match the number of types, or E_CORRUPT is returned.

The function returns the following error codes:

  • E_ALLOC if memory allocation failed.
  • E_CORRUPT if sizes of requests and types array mismatch.
  • E_INVALID if compression type is invalid.
  • E_RPC if request failed.
  • E_TYPE if type of types is unsupported.
  • E_ZLIB if zlib libray call failed.
  • E_ZSTD if zstd libray call failed.

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


Calls

proc~~dm_rpc_post_types~~CallsGraph proc~dm_rpc_post_types dm_rpc_post_types proc~dm_is_error dm_is_error proc~dm_rpc_post_types->proc~dm_is_error proc~dm_z_compress_type dm_z_compress_type proc~dm_rpc_post_types->proc~dm_z_compress_type proc~dm_z_type_is_valid dm_z_type_is_valid proc~dm_rpc_post_types->proc~dm_z_type_is_valid proc~dm_zstd_destroy dm_zstd_destroy proc~dm_rpc_post_types->proc~dm_zstd_destroy 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_z_is_valid dm_z_is_valid proc~dm_z_compress_type->interface~dm_z_is_valid 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 interface~dm_z_is_valid->proc~dm_z_type_is_valid compress compress proc~dm_zlib_compress->compress compress_bound compress_bound proc~dm_zlib_compress->compress_bound

Called by

proc~~dm_rpc_post_types~~CalledByGraph proc~dm_rpc_post_types dm_rpc_post_types interface~dm_rpc_post dm_rpc_post interface~dm_rpc_post->proc~dm_rpc_post_types