RepastHPC
2.3.1
|
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>
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 |
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.
|
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.