pFIO_MultiGroupServerMod Module


Uses

Used by

  • module~~pfio_multigroupservermod~~UsedByGraph module~pfio_multigroupservermod pFIO_MultiGroupServerMod module~pfio pFIO module~pfio->module~pfio_multigroupservermod

Interfaces

public interface MultiGroupServer

  • private function new_MultiGroupServer(server_comm, port_name, nwriter_per_node, with_profiler, rc) result(s)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: server_comm
    character(len=*), intent(in) :: port_name
    integer, intent(in) :: nwriter_per_node
    logical, intent(in), optional :: with_profiler
    integer, intent(out), optional :: rc

    Return Value type(MultiGroupServer)


Derived Types

type, public, extends(BaseServer) ::  MultiGroupServer

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 :: NodeRoot_Comm
integer, public :: Node_Num
integer, public :: Node_Rank
integer, public, allocatable :: Node_Ranks(:)
integer, public :: back_Comm
integer, public, allocatable :: back_ranks(:)
integer, public :: comm
integer, public :: front_Comm
integer, public, allocatable :: front_ranks(:)
integer, public :: nfront
integer, public :: npes
integer, public :: num_clients = 0
integer, public :: nwriter
integer, public :: rank
integer, public :: server_Comm
integer, public :: status
logical, public :: I_am_back_root
logical, public :: I_am_front_root
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(SimpleCommSplitter), public :: splitter
type(StringInteger64Map), public :: prefetch_offset
type(StringInteger64Map), public :: stage_offset
class(vector_array), public, allocatable :: buffers(:)

Constructor

private function new_MultiGroupServer (server_comm, port_name, nwriter_per_node, with_profiler, 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 => 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 :: start_back
procedure, public :: terminate_backend_server
procedure, public :: update_status