MAK Legion 1.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
connection.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
6 #pragma once
7 
8 #include "legionNet/export.h"
9 
11 #include "legionNet/boundary.h"
12 
13 #include <memory>
14 
15 namespace Legion
16 {
17  class Configuration;
18  class SimulationDatabase;
19  class OwnershipManager;
20  class Boundary;
21 
22  typedef UInt64 ConnectionHandle;
23  const UInt32 ALL_ATTRIBUTE_SETS = 0xffff;
24 
25  class LEGIONNET_DLL Connection
26  {
27  public:
28  Connection(const SimulationDatabase& db, const Configuration& config);
29  virtual ~Connection();
30 
31  virtual ConnectionHandle handle() { return myHandle; }
32 
33  virtual bool isConnected();
34 
41  virtual void startProcessingMessages(double maxProcessingTime = 0.0);
42 
48  virtual void stopProcessingMessages();
49 
54  virtual void waitUntilDoneProcessingMessages();
55 
56  virtual ClientId clientId();
57 
59  virtual void setInterest(const Boundary& boundary, InterestGranularity granularityToUse = Boundary::theDefaultGranularity);
60 
62  virtual void removeInterest();
63 
65  virtual std::unique_ptr<Boundary> interest() const;
66 
68  virtual InterestGranularity interestGranularity() const;
69 
71  virtual void setIntent(const Boundary& boundary);
72 
74  virtual void removeIntent();
75 
77  virtual std::unique_ptr<Boundary> intent() const;
78 
80  virtual bool isAbsoluteTimestamp() const;
81 
83  virtual void setIsAbsoluteTimestamp(bool isAbsolute);
84 
86  virtual OwnershipManager* ownershipManager();
87 
90 
91  virtual void setAttributeSetInterest(const UInt32 attrSetType = ALL_ATTRIBUTE_SETS);
92  virtual void addAttributeSetInterest(const UInt32 attrSetType = ALL_ATTRIBUTE_SETS);
93  virtual void removeAttributeSetInterest(const UInt32 attrSetType = ALL_ATTRIBUTE_SETS);
95 
96  protected:
99  };
100 }
UInt64 ConnectionHandle
Definition: connection.h:20
ConnectionHandle myHandle
Definition: connection.h:97
InterestGranularity
Use fine grain (only overlapped objects) or coarse grain (all objects from overlapped client) ...
Definition: boundary.h:32
Definition: ownershipManager.h:87
Definition: boundary.h:38
unsigned int UInt32
Definition: dataTypes.h:44
UInt32 ClientId
Definition: dataTypes.h:52
The SimulationDatabase stores all data for the simulation. It also owns the event, control, and view managers.
Definition: simulationDatabase.h:42
const UInt32 ALL_ATTRIBUTE_SETS
Definition: connection.h:23
static InterestGranularity theDefaultGranularity
Definition: boundary.h:42
virtual ConnectionHandle handle()
Definition: connection.h:31
unsigned long long UInt64
Definition: dataTypes.h:46
OwnershipManager * myOwnershipManager
Definition: connection.h:98
The configuration object parses the command line and loads a configuration file to provide the user c...
Definition: configuration.h:23
Definition: connection.h:25

Document ID: Generated on Wed May 26 15:17:05 EDT 2021 from SVN revision 229676
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)