Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine test_connect(this)class(MpiTestMethod),intent(inout)::thistype(DirectoryService)::dsinteger::comminteger::color,key,ierrortype(MockServer),target::mock_servertype(MockClient)::mock_clientds=DirectoryService(this%getMpiCommunicator())color=this%getProcessRank()key=0call MPI_Comm_split(this%getMpiCommunicator(),color,key,comm,ierror)@assertEqual(0,ierror)select case(this%getProcessRank())case(0)! servermock_server=MockServer(comm)call ds%publish(PortInfo('input',mock_server),mock_server)call ds%connect_to_client('input',mock_server)case(1)! clientmock_client=MockClient()call ds%connect_to_server('input',mock_client,comm)end select!C$ select type (s)!C$ type is (MpiSocket)!C$ class default!C$ @assertTrue(.false.)!C$ end selectcall ds%free_directory_resources()end subroutine test_connect