AbstractSocket Derived Type

type, public, abstract :: AbstractSocket


Inherited by

type~~abstractsocket~~InheritedByGraph type~abstractsocket AbstractSocket type~basethread BaseThread type~basethread->type~abstractsocket connection type~mocksocket MockSocket type~mocksocket->type~abstractsocket type~mpisocket MpiSocket type~mpisocket->type~abstractsocket type~pair~3 pair type~pair~3->type~abstractsocket value type~simplesocket SimpleSocket type~simplesocket->type~abstractsocket type~simplesocket->type~basethread visitor type~v_wrapper~2 v_Wrapper type~v_wrapper~2->type~abstractsocket item type~abstractsocketvector AbstractSocketVector type~abstractsocketvector->type~v_wrapper~2 elements type~abstractsocketvectoriterator AbstractSocketVectorIterator type~abstractsocketvectoriterator->type~v_wrapper~2 elements type~abstractsocketvectorriterator AbstractSocketVectorRIterator type~abstractsocketvectorriterator->type~v_wrapper~2 elements type~clientthread ClientThread type~clientthread->type~basethread type~serverthread ServerThread type~serverthread->type~basethread type~tvector~3 tVector type~tvector~3->type~pair~3 elements type~fakeextdata FakeExtData type~fakeextdata->type~clientthread c type~fakeextdata~2 FakeExtData type~fakeextdata~2->type~clientthread c type~fakehistdata FakeHistData type~fakehistdata->type~clientthread i_c, o_c type~fakehistdata0 FakeHistData0 type~fakehistdata0->type~clientthread i_c, o_c type~fastclientthread FastClientThread type~fastclientthread->type~clientthread type~mockclient MockClient type~mockclient->type~clientthread type~mockclientthread MockClientThread type~mockclientthread->type~clientthread type~mockserverthread MockServerThread type~mockserverthread->type~serverthread type~set2~4 set2 type~set2~4->type~tvector~3 items type~v_wrapper~11 v_Wrapper type~v_wrapper~11->type~clientthread item type~v_wrapper~12 v_Wrapper type~v_wrapper~12->type~serverthread item type~clientthreadvector ClientThreadVector type~clientthreadvector->type~v_wrapper~11 elements type~clientthreadvectoriterator ClientThreadVectorIterator type~clientthreadvectoriterator->type~v_wrapper~11 elements type~clientthreadvectorriterator ClientThreadVectorRIterator type~clientthreadvectorriterator->type~v_wrapper~11 elements type~integersocketmap IntegerSocketMap type~integersocketmap->type~set2~4 tree type~s_iterator~4 s_iterator type~s_iterator~4->type~set2~4 reference type~serverthreadvector ServerThreadVector type~serverthreadvector->type~v_wrapper~12 elements type~serverthreadvectoriterator ServerThreadVectorIterator type~serverthreadvectoriterator->type~v_wrapper~12 elements type~serverthreadvectorriterator ServerThreadVectorRIterator type~serverthreadvectorriterator->type~v_wrapper~12 elements

Type-Bound Procedures

procedure(get), public, deferred :: get

  • function get(this, request_id, local_reference, rc) result(handle) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractSocket), intent(inout), target :: this
    integer, intent(in) :: request_id
    class(AbstractDataReference), intent(in) :: local_reference
    integer, intent(out), optional :: rc

    Return Value class(AbstractRequestHandle), allocatable

procedure(put), public, deferred :: put

  • function put(this, request_id, local_reference, rc) result(handle) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractSocket), intent(inout) :: this
    integer, intent(in) :: request_id
    class(AbstractDataReference), intent(in) :: local_reference
    integer, intent(out), optional :: rc

    Return Value class(AbstractRequestHandle), allocatable

procedure(receive), public, deferred :: receive

  • subroutine receive(this, message, rc) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractSocket), intent(inout) :: this
    class(AbstractMessage), intent(out), allocatable :: message
    integer, intent(out), optional :: rc

procedure(send), public, deferred :: send

  • subroutine send(this, message, rc) Prototype

    Arguments

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

procedure(to_string), public, deferred :: to_string

  • function to_string(this) result(string) Prototype

    Arguments

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

    Return Value character(len=:), allocatable

Source Code

   type, abstract :: AbstractSocket
   contains
      procedure (receive), deferred :: receive
      procedure (send), deferred :: send

      procedure (put), deferred :: put
      procedure (get), deferred :: get
      procedure (to_string), deferred :: to_string
   end type AbstractSocket