RepastHPC
2.3.1
|
Importer that maintains a list of the agents being sent from each sending process. More...
#include <AgentImporterExporter.h>
Public Member Functions | |
virtual void | registerOutgoingRequests (AgentRequest &req) |
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) |
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) |
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) | |
virtual std::string | getReport () |
Get a printable indication of the data in this object. | |
virtual void | getSetOfAgentsBeingImported (std::set< AgentId > &set) |
virtual void | clear () |
Public Member Functions inherited from repast::AbstractImporter | |
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. | |
void | importedAgentIsNowLocal (const AgentId &id) |
Some semantic sugar; operationally this is the same as 'importedAgentIsRemoved'. | |
Additional Inherited Members | |
Protected Attributes inherited from repast::AbstractImporter | |
std::set< int > | exportingProcesses |
Importer that maintains a list of the agents being sent from each sending process.
If there are no agents being sent the size of the list will be zero and no mpi 'receive' will be created; for non-zero-length lists a single mpi 'receiver' is created. An agent that is requested twice is placed in the list twice. Semantically this means that an agent cancellation will remove the agent from the list exactly once, but also that removing an agent from the list who is not found in the list will not reduce the list size (c.f. the 'count' version, where every cancellation reduces the count whether the specific agent being canceled was ever requested at all).
|
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.
Implements repast::AbstractImporter.