ClientManager Derived Type

type, public :: ClientManager


Inherits

type~~clientmanager~~InheritsGraph type~clientmanager ClientManager IntegerVector IntegerVector type~clientmanager->IntegerVector server_sizes, large_server_pool, small_server_pool type~clientthreadvector ClientThreadVector type~clientmanager->type~clientthreadvector clients type~v_wrapper~11 v_Wrapper type~clientthreadvector->type~v_wrapper~11 elements type~clientthread ClientThread type~v_wrapper~11->type~clientthread item type~basethread BaseThread type~clientthread->type~basethread

Constructor

public interface ClientManager

  • private function new_ClientManager(client_comm, unusable, n_client, fast_oclient, rc) result(c_manager)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: client_comm
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(in), optional :: n_client
    logical, intent(in), optional :: fast_oclient
    integer, intent(out), optional :: rc

    Return Value type(ClientManager)


Type-Bound Procedures

generic, public :: add_data_collection => add_read_data_collection, add_write_data_collection

  • private function add_read_data_collection(this, file_template, unusable, rc) result(collection_id)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    character(len=*), intent(in) :: file_template
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value integer

  • private function add_write_data_collection(this, file_metadata, unusable, mode, rc) result(collection_id)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    type(FileMetadata), intent(in) :: file_metadata
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(in), optional :: mode
    integer, intent(out), optional :: rc

    Return Value integer

procedure, public :: collective_prefetch_data

  • private subroutine collective_prefetch_data(this, collection_id, file_name, var_name, data_reference, unusable, start, global_start, global_count, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    character(len=*), intent(in) :: file_name
    character(len=*), intent(in) :: var_name
    class(AbstractDataReference), intent(in) :: data_reference
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: global_start(:)
    integer, intent(in), optional :: global_count(:)
    integer, intent(out), optional :: rc

procedure, public :: collective_stage_data

  • private subroutine collective_stage_data(this, collection_id, file_name, var_name, data_reference, unusable, start, global_start, global_count, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    character(len=*), intent(in) :: file_name
    character(len=*), intent(in) :: var_name
    class(AbstractDataReference), intent(in) :: data_reference
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(in), optional :: start(:)
    integer, intent(in), optional :: global_start(:)
    integer, intent(in), optional :: global_count(:)
    integer, intent(out), optional :: rc

procedure, public :: current

  • private function current(this) result(clientPtr)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(in), target :: this

    Return Value class(ClientThread), pointer

procedure, public :: done_collective_prefetch

  • private subroutine done_collective_prefetch(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: done_collective_stage

  • private subroutine done_collective_stage(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: done_prefetch

  • private subroutine done_prefetch(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: done_stage

  • private subroutine done_stage(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: modify_metadata

  • private subroutine modify_metadata(this, collection_id, unusable, var_map, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    class(KeywordEnforcer), intent(out), optional :: unusable
    type(StringVariableMap), intent(in), optional :: var_map
    integer, intent(out), optional :: rc

procedure, public :: modify_metadata_all

  • private subroutine modify_metadata_all(this, collection_id, unusable, var_map, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    class(KeywordEnforcer), intent(out), optional :: unusable
    type(StringVariableMap), intent(in), optional :: var_map
    integer, intent(out), optional :: rc

procedure, public :: next => next_

  • private subroutine next_(this)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout), target :: this

procedure, public :: post_wait

  • private subroutine post_wait(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout), target :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: prefetch_data

  • private subroutine prefetch_data(this, collection_id, file_name, var_name, data_reference, unusable, start, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    character(len=*), intent(in) :: file_name
    character(len=*), intent(in) :: var_name
    class(AbstractDataReference), intent(in) :: data_reference
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(in), optional :: start(:)
    integer, intent(out), optional :: rc

procedure, public :: replace_metadata

  • private subroutine replace_metadata(this, collection_id, fmd, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    type(FileMetadata), intent(in) :: fmd
    integer, intent(out), optional :: rc

procedure, public :: replace_metadata_all

  • private subroutine replace_metadata_all(this, collection_id, fmd, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    type(FileMetadata), intent(in) :: fmd
    integer, intent(out), optional :: rc

procedure, public :: set_current

  • private subroutine set_current(this, ith, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in), optional :: ith
    integer, intent(out), optional :: rc

procedure, public :: set_optimal_server

  • private subroutine set_optimal_server(this, nwriting, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: nwriting
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: set_server_size

  • private subroutine set_server_size(this, server_size, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: server_size
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: shake_hand

  • private subroutine shake_hand(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: size

  • private function size(this) result(n_client)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(in) :: this

    Return Value integer

procedure, public :: split_server_pools

  • private subroutine split_server_pools(this, unusable, n_server_split, n_hist_split, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: n_server_split
    integer, intent(in), optional :: n_hist_split
    integer, intent(out), optional :: rc

procedure, public :: stage_data

  • private subroutine stage_data(this, collection_id, file_name, var_name, data_reference, unusable, start, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    character(len=*), intent(in) :: file_name
    character(len=*), intent(in) :: var_name
    class(AbstractDataReference), intent(in) :: data_reference
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(in), optional :: start(:)
    integer, intent(out), optional :: rc

procedure, public :: stage_nondistributed_data

  • private subroutine stage_nondistributed_data(this, collection_id, file_name, var_name, data_reference, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    integer, intent(in) :: collection_id
    character(len=*), intent(in) :: file_name
    character(len=*), intent(in) :: var_name
    class(AbstractDataReference), intent(in) :: data_reference
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: terminate

  • private subroutine terminate(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout) :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: wait

  • private subroutine wait(this, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ClientManager), intent(inout), target :: this
    class(KeywordEnforcer), intent(out), optional :: unusable
    integer, intent(out), optional :: rc