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

Responsible for keeping a list of the agents that have been requested by other processes for which data is to be sent when agents' states are synchronized, and for packaging and sending that data during synchronization. More...

#include <AgentImporterExporter.h>

Inheritance diagram for repast::AbstractExporter:
repast::Exporter_LIST repast::Exporter_SET

Public Types

typedef std::map< int, std::set< AgentStatus > > StatusMap
 

Public Member Functions

virtual void registerIncomingRequests (std::vector< AgentRequest > &requests)=0
 Makes a record of the data receives (in the form of a vector of AgentRequests) so that the agents' data can be sent to the requesting processes.
 
virtual void incorporateAgentExporterInfo (std::map< int, AgentRequest * > info)
 The set of information received here comprises the information that some other process was using to export information about agents that are now being moved to this process. More...
 
virtual void agentRemoved (const AgentId &id)
 1) Removes the agent export information from this process 2) Updates the outgoing status change buffer to include the status change for this agent to all procs to which this agent was being exported (except if one of these was the proc to which the agent is now moving; this is omitted)
 
virtual void agentMoved (const AgentId &id, int process)
 1) Removes the agent export information from this process 2) Places a copy of the agent export information into the outgoing buffer 3) Updates the outgoing status change buffer to include the status change for this agent to all procs to which this agent was being exported (except if one of these was the proc to which the agent is now moving; this is omitted)
 
virtual const std::set< int > & getProcessesExportedTo ()
 Gets the list of processes this exporter is sending information to.
 
AgentExporterInfo * getAgentExportInfo (int destProc)
 Gets the export information that has been placed into the 'outgoing agent export information' buffer because agents that were being exported are being sent to a new process, for the specified process.
 
const StatusMap * getOutgoingStatusChanges ()
 Gets the set of status changes for the exported agents.
 
void clearAgentExportInfo ()
 Clears the outgoing agent export information buffer; should be called after the information is sent.
 
void clearStatusMap ()
 Clears the outgoing status information buffer; should be called after the information is sent.
 
virtual const std::map< int, AgentRequest > & getAgentsToExport ()
 Gets the list of agents being exported by this exported, as a map by ints representing the processes to which information will be sent.
 
 AbstractExporter (StatusMap *outgoingStatusMap, AgentExporterData *outgoingAgentExporterInfo)
 
virtual std::string getReport ()=0
 Gets a printable report of the state of this object.
 
virtual void clear ()
 
virtual void clearExportToSpecificProc (int rank)
 

Protected Attributes

StatusMap * outgoingStatusChanges
 
AgentExporterDataoutgoingAgentExporterInformation
 
std::set< int > processesExportedTo
 
std::map< int, AgentRequestexportedMap
 

Detailed Description

Responsible for keeping a list of the agents that have been requested by other processes for which data is to be sent when agents' states are synchronized, and for packaging and sending that data during synchronization.

It is also responsible for exchanging this 'export' information when any of the agents that it is exporting are being moved to other processes; when an agent moves, its new home process must be able to assume the same export duties that its original process was performing.

Member Function Documentation

◆ incorporateAgentExporterInfo()

void AbstractExporter::incorporateAgentExporterInfo ( std::map< int, AgentRequest * >  info)
virtual

The set of information received here comprises the information that some other process was using to export information about agents that are now being moved to this process.

This method takes that information and incorporates it into this exporter, so that this exporter can now export the agents' information to the processes that have requested it.


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