RepastHPC  2.3.1
Public Member Functions | Protected Attributes | List of all members
repast::AbstractImporter Class Referenceabstract

This class manages importing agent information; primarily this means constructing the appropriate mpi receives when agent information is to be exchanged. More...

#include <AgentImporterExporter.h>

Inheritance diagram for repast::AbstractImporter:
repast::Importer_COUNT repast::Importer_LIST repast::Importer_MAP_int repast::Importer_SET

Public Member Functions

virtual const std::set< int > & getExportingProcesses ()
 Gets a const reference to the set of ints representing the processes that are sending this process agent information.
 
virtual void registerOutgoingRequests (AgentRequest &req)=0
 Given an agent request (including requests for agents on multiple other processes), makes a record of the agents that are being requested by this process and will therefore be received from other processes. More...
 
virtual void importedAgentIsRemoved (const AgentId &id)=0
 Notifies this importer that the agent that it (presumably) has been importing has been removed from the simulation on its home process, and the information for that agent will no longer be sent.
 
virtual void importedAgentIsMoved (const AgentId &id, int newProcess)=0
 Notifies this importer that the agent that it (presumably) has been importing from another process has been moved; its information will now be received from its new home process (unless the agent was moved to this process)
 
void importedAgentIsNowLocal (const AgentId &id)
 Some semantic sugar; operationally this is the same as 'importedAgentIsRemoved'.
 
virtual std::string getReport ()=0
 Get a printable indication of the data in this object.
 
virtual void getSetOfAgentsBeingImported (std::set< AgentId > &set)=0
 
virtual void clear ()
 

Protected Attributes

std::set< int > exportingProcesses
 

Detailed Description

This class manages importing agent information; primarily this means constructing the appropriate mpi receives when agent information is to be exchanged.

However, this class can also define specific semantics that can apply to agent requests- what to do in the case that an agent is requested twice, for example.

Member Function Documentation

◆ registerOutgoingRequests()

virtual void repast::AbstractImporter::registerOutgoingRequests ( AgentRequest req)
pure virtual

Given an agent request (including requests for agents on multiple other processes), makes a record of the agents that are being requested by this process and will therefore be received from other processes.

The record must at a minimum indicate which other processes are sending agent information, but may include other information, such as how many times a particular agent has been requested.

Implemented in repast::Importer_MAP_int, repast::Importer_SET, repast::Importer_LIST, and repast::Importer_COUNT.


The documentation for this class was generated from the following files: