MONC
|
Inter IO server communication specific functionality. This manages all of the communication that might happen between different IO servers. More...
Data Types | |
interface | handle_completion |
Functions/Subroutines | |
subroutine, public | register_inter_io_communication (io_configuration, message_tag, handling_procedure, name) |
Registers an inter IO communication operation. More... | |
integer function, public | find_inter_io_from_name (io_configuration, name) |
Locates a the index of an inter IO entry from the operator name or returns 0 if none is found. More... | |
character function, dimension(:), allocatable, public | package_inter_io_communication_message (field_name, timestep, field_values, other_int) |
Packages up fields into an io binary message (allocated here) which is used for sending. More... | |
subroutine, public | unpackage_inter_io_communication_message (data_buffer, field_name, timestep, field_values, other_int) |
Unpackages some binary data into its individual fields. The field values are allocated here and the size is the remaining message size after everything else has been accounted for. More... | |
Variables | |
integer | starting_tag =20 |
Inter IO server communication specific functionality. This manages all of the communication that might happen between different IO servers.
integer function, public inter_io_specifics_mod::find_inter_io_from_name | ( | type(io_configuration_type), intent(inout) | io_configuration, |
character(len=*), intent(in) | name | ||
) |
Locates a the index of an inter IO entry from the operator name or returns 0 if none is found.
io_configuration | The configuration of the IO server |
name | Name of the inter IO communication operation |
Definition at line 62 of file inter-io-specifics.F90.
character function, dimension(:), allocatable, public inter_io_specifics_mod::package_inter_io_communication_message | ( | character(len=string_length), intent(in) | field_name, |
integer, intent(in) | timestep, | ||
real(kind=default_precision), dimension(:), intent(in) | field_values, | ||
integer, intent(in), optional | other_int | ||
) |
Packages up fields into an io binary message (allocated here) which is used for sending.
field_name | The field name to package |
timestep | The timestep to package |
field_values | The field values to package |
other_int | Optional other integer to package |
Definition at line 83 of file inter-io-specifics.F90.
subroutine, public inter_io_specifics_mod::register_inter_io_communication | ( | type(io_configuration_type), intent(inout) | io_configuration, |
integer, intent(in) | message_tag, | ||
procedure(handle_recv_data_from_io_server) | handling_procedure, | ||
character(len=*), intent(in) | name | ||
) |
Registers an inter IO communication operation.
io_configuration | IO server configuration state |
message_tag | The inter IO message tag |
handling_procedure | Callback procedure back to the inter IO functionality when a message arrives |
name | The name of the inter IO operation |
Definition at line 38 of file inter-io-specifics.F90.
subroutine, public inter_io_specifics_mod::unpackage_inter_io_communication_message | ( | character, dimension(:), intent(in) | data_buffer, |
character(len=string_length), intent(out) | field_name, | ||
integer, intent(out) | timestep, | ||
real(kind=default_precision), dimension(:), intent(out), allocatable | field_values, | ||
integer, intent(out), optional | other_int | ||
) |
Unpackages some binary data into its individual fields. The field values are allocated here and the size is the remaining message size after everything else has been accounted for.
data_buffer | The data buffer to unpackage |
field_name | Written into from the buffer |
timestep | Written into from the buffer |
field_values | Remaining message size, allocated here |
other_int | Optional other integer written in from the buffer |
Definition at line 109 of file inter-io-specifics.F90.
|
private |
Definition at line 27 of file inter-io-specifics.F90.