RepastHPC  2.3.1
Public Member Functions | List of all members
repast::Importer_LIST Class Reference

Importer that maintains a list of the agents being sent from each sending process. More...

#include <AgentImporterExporter.h>

Inheritance diagram for repast::Importer_LIST:
repast::AbstractImporter

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
 

Detailed Description

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).

Member Function Documentation

◆ registerOutgoingRequests()

void Importer_LIST::registerOutgoingRequests ( AgentRequest req)
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.


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