AbstractDataMessage Derived Type

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


Inherits

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

Inherited by

type~~abstractdatamessage~~InheritedByGraph type~abstractdatamessage AbstractDataMessage type~abstractcollectivedatamessage AbstractCollectiveDataMessage type~abstractcollectivedatamessage->type~abstractdatamessage type~prefetchdatamessage PrefetchDataMessage type~prefetchdatamessage->type~abstractdatamessage type~stagedatamessage StageDataMessage type~stagedatamessage->type~abstractdatamessage 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 :: 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(AbstractDataMessage), 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(AbstractDataMessage), 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 :: serialize

  • private subroutine serialize(this, buffer, rc)

    Arguments

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

Source Code

   type, extends(AbstractMessage),abstract :: AbstractDataMessage
      integer :: request_id
      integer :: collection_id
      character(len=:), allocatable :: file_name
      character(len=:), allocatable :: var_name
      integer :: type_kind
      integer, allocatable :: start(:)
      integer, allocatable :: count(:)
   contains
      procedure :: init
      procedure :: get_length
      procedure :: serialize
      procedure :: deserialize
   end type AbstractDataMessage