MemoryArchiveTEntity Class |
Namespace: AGI.Foundation.Tracking
public class MemoryArchive<TEntity> : TrackingArchive<TEntity> where TEntity : class, IEntityIdentifier, IEntityLastUpdate
The MemoryArchiveTEntity type exposes the following members.
Name | Description | |
---|---|---|
MemoryArchiveTEntity(TransactionContext) |
Construct a new instance with the provided context.
| |
MemoryArchiveTEntity(TransactionContext, TrackingTypeArchiverCollection) |
Construct a new instance with the provided context and type archivers.
|
Name | Description | |
---|---|---|
Context |
Gets the context for which to archive entities.
(Inherited from TrackingArchiveTEntity.) | |
IsRunning |
Gets a value indicating whether the archiver is currently archiving
changes to entities in the Context.
(Inherited from TrackingArchiveTEntity.) | |
MaximumQueueLength |
Gets or sets the maximum length of the queue of committed transactions to be archived.
If transactions are committed at a higher rate than they can be archived, the length of the queue
will grow. When it reaches this maximum length, committing threads will block until the archiver
catches up. Setting this value too high will result in excessive memory usage. Changes to this
value while the archiver IsRunning will not take effect until it is restarted.
(Inherited from TrackingArchiveTEntity.) | |
PrimitivePropertyComponents |
Gets a list of the primitive components of the properties for this entity type. Each
property in Properties will correspond to one or more properties in this
collection. For example, a property in Properties of type
JulianDate might have two properties in this collection: an integer called "Day"
and a double called "SecondsOfDay". The exact relationship between Properties
and this collection is dictated by the TypeArchivers being used by this archive.
(Inherited from TrackingArchiveTEntity.) | |
Properties |
Gets a list of archived properties for this entity type. There is one property in this
collection for each property in the entity's EntitySchemaTEntity.
(Inherited from TrackingArchiveTEntity.) | |
TypeArchivers |
Gets the collection of TrackingTypeArchivers that is used
to archive the properties of entities. The returned instance should be considered read-only. Attempts
to modify the collection of archivers will result in an ObjectFrozenException.
(Inherited from TrackingArchiveTEntity.) |
Name | Description | |
---|---|---|
ArchiveEntities |
Archives a set of entities.
(Overrides TrackingArchiveTEntityArchiveEntities(Transaction, IEnumerableTEntity).) | |
Clear |
Clears the contents of the archive.
(Overrides TrackingArchiveTEntityClear.) | |
Deserialize |
Deserializes the archive from the provided stream.
| |
Dispose |
Releases any resources associated with this instance.
(Inherited from TrackingArchiveTEntity.) | |
Dispose(Boolean) |
Releases any resources associated with this instance.
(Inherited from TrackingArchiveTEntity.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetArchivedData(JulianDate, JulianDate, Int32, String) |
Retrieves archived properties for all entities over the provided time period.
(Inherited from TrackingArchiveTEntity.) | |
GetArchivedData(Object, JulianDate, JulianDate, Int32, String) |
Retrieves archived properties for the provided entity over the provided time period.
(Inherited from TrackingArchiveTEntity.) | |
GetArchivedInterval |
Gets the overall interval that exists in the archive for any entity.
(Overrides TrackingArchiveTEntityGetArchivedInterval.) | |
GetArchivedInterval(Object) |
Gets the overall interval that exists in the archive for the specified entity identifier.
(Overrides TrackingArchiveTEntityGetArchivedInterval(Object).) | |
GetArchivedPrimitivePropertyComponents(IEnumerableArchivedProperty, JulianDate, JulianDate, Int32) |
Retrieves archived primitive property components for all entities over the provided time period.
(Overrides TrackingArchiveTEntityGetArchivedPrimitivePropertyComponents(IEnumerableArchivedProperty, JulianDate, JulianDate, Int32).) | |
GetArchivedPrimitivePropertyComponents(Object, IEnumerableArchivedProperty, JulianDate, JulianDate, Int32) |
Retrieves archived primitive property components for the provided entity over the provided time period.
(Overrides TrackingArchiveTEntityGetArchivedPrimitivePropertyComponents(Object, IEnumerableArchivedProperty, JulianDate, JulianDate, Int32).) | |
GetEntityPrimitivePropertyComponents |
Fills an array with the archived properties of an entity.
(Inherited from TrackingArchiveTEntity.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetMotionT(Object, JulianDate, JulianDate, String) |
Gets time-varying data, such as position and velocity, from the archive.
(Inherited from TrackingArchiveTEntity.) | |
GetMotionT(Object, JulianDate, JulianDate, Int32, String) |
Gets time-varying data, such as position and velocity, from the archive.
(Inherited from TrackingArchiveTEntity.) | |
GetOrientations(Object, JulianDate, JulianDate) |
Gets a DateMotionCollectionT, TDerivative representing
the archived orientation, rotational velocity and rotational acceleration of the
specified entity beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchiveTEntity.) | |
GetOrientations(Object, JulianDate, Int32) |
Gets a DateMotionCollectionT, TDerivative representing
the archived orientation, rotational velocity and rotational acceleration of the
specified entity beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchiveTEntity.) | |
GetOrientations(Object, JulianDate, JulianDate, Int32) |
Gets a DateMotionCollectionT, TDerivative representing
the archived orientation, rotational velocity and rotational acceleration of the
specified entity beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchiveTEntity.) | |
GetPositions(Object, JulianDate, JulianDate) |
Gets a DateMotionCollectionT representing the
archived position, velocity and acceleration of the specified entity
beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchiveTEntity.) | |
GetPositions(Object, JulianDate, Int32) |
Gets a DateMotionCollectionT representing the
archived position, velocity and acceleration of the specified entity
beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchiveTEntity.) | |
GetPositions(Object, JulianDate, JulianDate, Int32) |
Gets a DateMotionCollectionT representing the
archived position, velocity and acceleration of the specified entity
beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchiveTEntity.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Serialize |
Serializes the archive to the provided stream.
| |
StartWriting |
Starts the archiver. After this method is called, all updates to entities in the
Context will be archived.
(Inherited from TrackingArchiveTEntity.) | |
StopWriting |
Stops the archiver. After this method is called, updates to entities in the
Context will no longer be archived. This method does not return until
the current queue of updates to archive has been processed.
(Inherited from TrackingArchiveTEntity.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
WaitForArchiveQueue |
Waits for the currently queued transactions to be archived before returning. Additional committed
transactions may be queued while waiting and these will NOT be waited upon.
(Inherited from TrackingArchiveTEntity.) | |
WritingShutdown |
Called during StopWriting, after the last call to ArchiveEntities(Transaction, IEnumerableTEntity).
(Inherited from TrackingArchiveTEntity.) | |
WritingStartup |
Called during StartWriting, before the first call to ArchiveEntities(Transaction, IEnumerableTEntity).
(Inherited from TrackingArchiveTEntity.) |