AbstractCollectiveDataMessage Derived Type

type, public, abstract, extends(AbstractDataMessage) :: AbstractCollectiveDataMessage


Inherits

type~~abstractcollectivedatamessage~~InheritsGraph type~abstractcollectivedatamessage AbstractCollectiveDataMessage type~abstractdatamessage AbstractDataMessage type~abstractcollectivedatamessage->type~abstractdatamessage type~abstractmessage AbstractMessage type~abstractdatamessage->type~abstractmessage

Inherited by

type~~abstractcollectivedatamessage~~InheritedByGraph type~abstractcollectivedatamessage AbstractCollectiveDataMessage type~collectiveprefetchdatamessage CollectivePrefetchDataMessage type~collectiveprefetchdatamessage->type~abstractcollectivedatamessage type~collectivestagedatamessage CollectiveStageDataMessage type~collectivestagedatamessage->type~abstractcollectivedatamessage

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: file_name
character(len=:), public, allocatable :: var_name
integer, public :: collection_id
integer, public, allocatable :: count(:)
integer, public, allocatable :: global_count(:)
integer, public, allocatable :: global_start(:)
integer, public :: request_id
integer, public, allocatable :: start(:)
integer, public :: type_kind

Type-Bound Procedures

procedure, public :: deserialize

  • private subroutine deserialize(this, buffer, rc)

    Arguments

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

procedure, public :: dispatch

  • private recursive subroutine dispatch(this, visitor, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractMessage), intent(in) :: this
    class(SurrogateMessageVisitor), intent(inout), target :: visitor
    integer, intent(out), optional :: rc

procedure, public :: get_length

  • private function get_length(this) result(length)

    Arguments

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

    Return Value integer

procedure(get_type_id), public, deferred, nopass :: get_type_id

  • function get_type_id() result(type_id) Prototype

    Arguments

    None

    Return Value integer

procedure, public :: init

  • private subroutine init(message, request_id, collection_id, file_name, var_name, data_reference, unusable, start, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractDataMessage) :: message
    integer, intent(in) :: request_id
    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(in), optional :: unusable
    integer, intent(in), optional :: start(:)
    integer, intent(out), optional :: rc

procedure, public :: initCollective

  • private subroutine initCollective(message, request_id, collection_id, file_name, var_name, data_reference, unusable, start, global_start, global_count, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractCollectiveDataMessage) :: message
    integer, intent(in) :: request_id
    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(in), 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 :: serialize

  • private subroutine serialize(this, buffer, rc)

    Arguments

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

Source Code

   type, extends(AbstractDataMessage),abstract :: AbstractCollectiveDataMessage
      integer, allocatable :: global_start(:)
      integer, allocatable :: global_count(:)
   contains
      procedure :: initCollective
      procedure :: get_length
      procedure :: serialize
      procedure :: deserialize
   end type AbstractCollectiveDataMessage