| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | terminate | = | .false. | ||
| type(HistoryCollectionVector), | public | :: | hist_collections | ||||
| type(MessageVector), | public | :: | request_backlog |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractSocket), | intent(in), | target | :: | sckt | ||
| class(AbstractServer), | intent(in), | optional, | target | :: | server | |
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(BaseThread), | intent(inout), | target | :: | this | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(BaseThread), | intent(inout), | target | :: | this | ||
| integer, | intent(in) | :: | request_id | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| class(AbstractDataMessage), | intent(in) | :: | message | |||
| type(c_ptr), | intent(in) | :: | address | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| logical, | intent(in) | :: | multi_data_read | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(BaseThread), | intent(in), | target | :: | this | ||
| integer, | intent(in) | :: | request_id | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(BaseThread), | intent(in), | target | :: | this | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| integer, | intent(in) | :: | collection_id |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| class(AbstractMessage), | intent(in), | target | :: | message | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(AddExtCollectionMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(AddHistCollectionMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(CollectivePrefetchDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(CollectiveStageDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
make sure this server thread will wait for all the other threads to finsh their backlog
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(DoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(CollectivePrefetchDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(CollectiveStageDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(PrefetchDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(StageDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(HandShakeMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout) | :: | this | |||
| type(IDMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(ModifyMetadataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(PrefetchDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(ReplaceMetadataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| type(StageDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| type(TerminateMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(DoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(PrefetchDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(CollectivePrefetchDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(StageDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(CollectiveStageDoneMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(AddExtCollectionMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(AddHistCollectionMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ClientThread), | intent(inout) | :: | this | |||
| type(IDMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(PrefetchDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(CollectivePrefetchDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(StageDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(CollectiveStageDataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout) | :: | this | |||
| type(TerminateMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(ModifyMetadataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(ReplaceMetadataMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MessageVisitor), | intent(inout), | target | :: | this | ||
| type(HandShakeMessage), | intent(in) | :: | message | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| class(AbstractSocket), | intent(in), | target | :: | sckt | ||
| class(AbstractServer), | intent(in), | target | :: | server | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(BaseThread), | intent(inout), | target | :: | this | ||
| integer, | intent(in) | :: | request_id | |||
| class(AbstractRequestHandle), | intent(in) | :: | handle | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(BaseThread), | intent(in), | target | :: | this | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| class(AbstractDataMessage), | intent(in) | :: | message | |||
| type(c_ptr), | intent(in) | :: | address | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout), | target | :: | this | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| logical, | intent(in) | :: | request | |||
| logical, | intent(in) | :: | have_done |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(BaseThread), | intent(inout), | target | :: | this | ||
| class(AbstractSocket), | intent(in) | :: | connection | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this | |||
| integer, | intent(in) | :: | rank |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ServerThread), | intent(inout) | :: | this |
type, extends(BaseThread) :: ServerThread private type (ExtCollectionVector) :: ext_collections type (HistoryCollectionVector), public :: hist_collections logical :: there_is_collective_request = .false. logical,public :: terminate = .false. type (MessageVector),public :: request_backlog logical :: have_done = .true. class(AbstractServer), pointer :: containing_server=>null() integer :: thread_rank type (IntegerVector) :: sub_array_types contains procedure :: init procedure :: run procedure :: set_terminate procedure :: set_rank procedure :: set_collective_request procedure :: do_terminate procedure :: clear_terminate procedure :: handle_Terminate procedure :: handle_Done procedure :: handle_Done_prefetch procedure :: handle_Done_collective_prefetch procedure :: handle_Done_stage procedure :: handle_Done_collective_stage procedure :: handle_AddExtCollection procedure :: handle_AddHistCollection procedure :: handle_PrefetchData procedure :: handle_CollectivePrefetchData procedure :: handle_StageData procedure :: handle_CollectiveStageData procedure :: handle_ModifyMetadata procedure :: handle_ReplaceMetadata procedure :: handle_HandShake procedure :: get_hist_collection procedure :: get_DataFromFile procedure :: get_DataFromMem procedure :: put_DataToFile procedure :: read_and_gather procedure :: read_and_share procedure :: receive_output_data procedure :: clear_hist_collections procedure :: clear_backlog procedure :: clear_subarray end type ServerThread