HydroCouple  2.0.0-alpha.1
HydroCouple Interface Definitions
Loading...
Searching...
No Matches
hydrocoupledistributed.h File Reference

Distributed-execution interface definitions for the HydroCouple component-based modeling framework. More...

#include "hydrocouple.h"
Include dependency graph for hydrocoupledistributed.h:

Go to the source code of this file.

Classes

class  HydroCouple::Distributed::IExchangeRequest
 IExchangeRequest is a handle to an asynchronous communication operation. More...
 
class  HydroCouple::Distributed::ITransport
 ITransport is a transport-neutral, tagged message channel between processes. More...
 
struct  HydroCouple::Distributed::ITransport::Endpoint
 Endpoint identifies one participant reachable through this transport. More...
 
class  HydroCouple::Distributed::IDistributedModelComponent
 IDistributedModelComponent is an IModelComponent that participates in distributed execution through a transport. More...
 
class  HydroCouple::Distributed::IProxyModelComponent
 The IProxyModelComponent class is a local stand-in for a remote IModelComponent reachable through a transport. More...
 
class  HydroCouple::Distributed::IPartitionedComponentDataItem
 IPartitionedComponentDataItem is an IComponentDataItem whose entity dimension is decomposed across partitions, with local virtual (ghost/halo) representation of remotely owned entities. More...
 

Namespaces

namespace  HydroCouple
 HydroCouple namespace contains the core interface specifications for the HydroCouple component-based modeling framework interface specification.
 
namespace  HydroCouple::Distributed
 HydroCouple's interfaces for distributed and cloud execution.
 

Detailed Description

Distributed-execution interface definitions for the HydroCouple component-based modeling framework.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Version
2.0.0-alpha.1

This header file contains the transport-neutral interfaces for distributed and cloud execution: message transports, distributed model components, proxies for remote components, and partitioned data items with local virtual (ghost/halo) entity representation. MPI is one possible transport backend; nothing in this standard names an MPI type, so the same interfaces serve TCP/gRPC/UCX transports in cloud deployments.

License\n
This file and its associated files and libraries are free software. You can redistribute them and/or modify them under the terms of the MIT License. They are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MIT License for details.
Date
2014-2026