| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | comm | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(inout), | target | :: | this | ||
| character(len=*), | intent(in) | :: | port_name | |||
| class(BaseServer), | intent(inout), | target | :: | server | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(inout), | target | :: | this | ||
| character(len=*), | intent(in) | :: | port_name | |||
| class(ClientThread), | intent(inout), | target | :: | client | ||
| integer, | intent(in) | :: | client_comm | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | server_size | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(inout) | :: | this | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | win |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(in) | :: | this | |||
| character(len=*), | intent(in) | :: | client_or_server |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(inout), | target | :: | this | ||
| type(PortInfo), | intent(in), | target | :: | port | ||
| class(BaseServer), | intent(in) | :: | server | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(in) | :: | this | |||
| type(Directory), | intent(in) | :: | dir | |||
| integer, | intent(in) | :: | win |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DirectoryService), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | client_comm | |||
| integer, | intent(out), | optional | :: | rc |
type,extends(AbstractDirectoryService) :: DirectoryService private integer :: comm,rank type (MpiMutex) :: mutex integer :: win_server_directory integer :: win_client_directory type(c_ptr) :: server_dir type(c_ptr) :: client_dir type (ProtocolParser) :: parser ! TODO: make vector type (PortInfo) :: local_ports(MAX_NUM_PORTS) integer :: n_local_ports = 0 contains procedure :: connect_to_server procedure :: connect_to_client procedure :: publish procedure :: terminate_servers procedure :: get_win procedure :: get_directory procedure :: put_directory procedure :: free_directory_resources end type DirectoryService