IDMessage Derived Type

type, public, extends(AbstractMessage) :: IDMessage


Inherits

type~~idmessage~~InheritsGraph type~idmessage IDMessage type~abstractmessage AbstractMessage type~idmessage->type~abstractmessage

Components

Type Visibility Attributes Name Initial
integer, public :: id

Constructor

public interface IDMessage

  • private function new_IDMessage(id) result(message)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: id

    Return Value type(IDMessage)


Type-Bound Procedures

procedure, public :: deserialize

  • private subroutine deserialize(this, buffer, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(IDMessage), intent(inout) :: this
    integer(kind=INT32), 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(IDMessage), intent(in) :: this

    Return Value integer

procedure, public, nopass :: get_type_id

  • private function get_type_id() result(type_id)

    Arguments

    None

    Return Value integer

procedure, public :: serialize

  • private subroutine serialize(this, buffer, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(IDMessage), intent(in) :: this
    integer(kind=INT32), intent(inout) :: buffer(:)
    integer, intent(out), optional :: rc

Source Code

   type, extends(AbstractMessage) :: IDMessage
      integer :: id
   contains
      procedure, nopass :: get_type_id
      procedure :: get_length
      procedure :: serialize
      procedure :: deserialize
   end type IDMessage