RepastHPC
2.3.1
|
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>
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 |
AgentExporterData * | outgoingAgentExporterInformation |
std::set< int > | processesExportedTo |
std::map< int, AgentRequest > | exportedMap |
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.
|
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.