ExtDataDriver Derived Type

type, public :: ExtDataDriver


Inherits

type~~extdatadriver~~InheritsGraph type~extdatadriver ExtDataDriver ESMF_LogKind_Flag ESMF_LogKind_Flag type~extdatadriver->ESMF_LogKind_Flag esmf_logging_mode type~mapl_capoptions MAPL_CapOptions type~extdatadriver->type~mapl_capoptions cap_options type~servermanager ServerManager type~extdatadriver->type~servermanager cap_server type~splitcommunicator SplitCommunicator type~extdatadriver->type~splitcommunicator split_comm type~mapl_capoptions->ESMF_LogKind_Flag esmf_logging_mode type~servermanager->type~splitcommunicator split_comm type~baseserver BaseServer type~servermanager->type~baseserver o_server type~directoryservice DirectoryService type~servermanager->type~directoryservice directory_service type~mpiserver MpiServer type~servermanager->type~mpiserver i_server type~simplecommsplitter SimpleCommSplitter type~servermanager->type~simplecommsplitter splitter type~abstractserver AbstractServer type~baseserver->type~abstractserver type~serverthreadvector ServerThreadVector type~baseserver->type~serverthreadvector threads c_ptr c_ptr type~directoryservice->c_ptr server_dir, client_dir type~abstractdirectoryservice AbstractDirectoryService type~directoryservice->type~abstractdirectoryservice type~mpimutex MpiMutex type~directoryservice->type~mpimutex mutex type~portinfo PortInfo type~directoryservice->type~portinfo local_ports type~protocolparser ProtocolParser type~directoryservice->type~protocolparser parser type~mpiserver->type~baseserver type~abstractcommsplitter AbstractCommSplitter type~simplecommsplitter->type~abstractcommsplitter type~commgroupdescriptionvector CommGroupDescriptionVector type~simplecommsplitter->type~commgroupdescriptionvector group_descriptions StringInteger64Map StringInteger64Map type~abstractserver->StringInteger64Map prefetch_offset, stage_offset type~abstractdatareferencevector AbstractDataReferenceVector type~abstractserver->type~abstractdatareferencevector dataRefPtrs type~commgroupdescription CommGroupDescription type~commgroupdescriptionvector->type~commgroupdescription elements type~mpimutex->c_ptr locks_ptr type~portinfo->type~baseserver server_ptr type~integermessagemap IntegerMessageMap type~protocolparser->type~integermessagemap prototypes type~v_wrapper~12 v_Wrapper type~serverthreadvector->type~v_wrapper~12 elements

Constructor

public interface ExtDataDriver

  • public function newExtDataDriver(name, set_services, unusable, cap_options, rc) result(driver)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: name
    procedure :: set_services
    class(KeywordEnforcer), intent(in), optional :: unusable
    class(MAPL_CapOptions), intent(in), optional :: cap_options
    integer, intent(out), optional :: rc

    Return Value type(ExtDataDriver)


Type-Bound Procedures

procedure, public :: finalize_io_clients_servers

procedure, public :: initialize_io_clients_servers

  • public subroutine initialize_io_clients_servers(this, comm, unusable, rc)

    Arguments

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

procedure, public :: initialize_mpi

  • public subroutine initialize_mpi(this, unusable, rc)

    Arguments

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

procedure, public :: run

  • public subroutine run(this, rc)

    Arguments

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

Source Code

   type :: ExtDataDriver
      private
      procedure(), nopass, pointer :: set_services => null()
      integer :: rank
      integer :: comm_world
      character(:), allocatable :: name
      type(ServerManager) :: cap_server
      type (ESMF_LogKind_Flag) :: esmf_logging_mode = ESMF_LOGKIND_NONE
      type (MAPL_CapOptions) :: cap_options
      type(SplitCommunicator) :: split_comm

   contains
      procedure :: run
      procedure :: initialize_io_clients_servers
      procedure :: finalize_io_clients_servers
      procedure :: initialize_mpi
   end type ExtDataDriver