pFIO_MultiLayerServerMod Module


Uses

Used by

  • module~~pfio_multilayerservermod~~UsedByGraph module~pfio_multilayerservermod pFIO_MultiLayerServerMod module~pfio pFIO module~pfio->module~pfio_multilayerservermod

Interfaces

public interface MultiLayerServer

  • private function new_MultiLayerServer(comm, port_name, nwriters, pfio_writer, rc) result(s)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: comm
    character(len=*), intent(in) :: port_name
    integer, intent(in) :: nwriters
    character(len=*), intent(in) :: pfio_writer
    integer, intent(out), optional :: rc

    Return Value type(MultiLayerServer)


Derived Types

type, public, extends(BaseServer) ::  MultiLayerServer

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: port_name
integer, public :: InNode_Comm
integer, public :: InNode_Rank
integer, public :: InNode_npes
integer, public :: Inter_Comm
integer, public :: NodeRoot_Comm
integer, public :: Node_Num
integer, public :: Node_Rank
integer, public, allocatable :: Node_Ranks(:)
integer, public :: comm
integer, public :: npes
integer, public :: num_clients = 0
integer, public :: nwriters
integer, public :: rank
integer, public :: status
logical, public :: all_backlog_is_empty = .true.
logical, public, allocatable :: serverthread_done_msgs(:)
logical, public :: terminate
type(AbstractDataReferenceVector), public :: dataRefPtrs
type(ServerThreadVector), public :: threads
type(StringInteger64Map), public :: prefetch_offset
type(StringInteger64Map), public :: stage_offset

Constructor

private function new_MultiLayerServer (comm, port_name, nwriters, pfio_writer, rc)

Type-Bound Procedures

procedure, public :: I_am_NodeRoot
procedure, public :: I_am_ServerRoot
procedure, public :: add_DataReference
procedure, public :: add_connection
procedure, public :: am_I_reading_PE
procedure, public :: clean_up
procedure, public :: clear_DataReference
procedure, public :: clear_RequestHandle
procedure, public :: create_remote_win
procedure, public :: distribute_task
procedure, public :: get_AllBacklogIsEmpty
procedure, public :: get_DataFromMem
procedure, public :: get_DataReference
procedure, public :: get_communicator
procedure, public :: get_dmessage
procedure, public :: get_status
procedure, public :: get_writing_PE
procedure, public :: init
procedure, public :: put_DataToFile
procedure, public :: receive_output_data
procedure, public :: report_profile
procedure, public :: set_AllBacklogIsEmpty
procedure, public :: set_collective_request
procedure, public :: set_status
procedure, public :: start
procedure, public :: terminate_writers
procedure, public :: update_status