Click or drag to resize

MemoryArchive<TEntity> Class

Inheritance Hierarchy
System.Object
  AGI.Foundation.Tracking.TrackingArchive<TEntity>
    AGI.Foundation.Tracking.MemoryArchive<TEntity>

Namespace:  AGI.Foundation.Tracking
Assembly:  AGI.Foundation.Tracking (in AGI.Foundation.Tracking.dll) Version: 25.1.421.0 (25.1.421.0)
Syntax
public class MemoryArchive<TEntity> : TrackingArchive<TEntity>
where TEntity : class, IEntityIdentifier, IEntityLastUpdate

Type Parameters

TEntity
The entity type to archive.

The MemoryArchive<TEntity> type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyContext
Gets the context for which to archive entities.
(Inherited from TrackingArchive<TEntity>.)
Public propertyIsRunning
Gets a value indicating whether the archiver is currently archiving changes to entities in the Context.
(Inherited from TrackingArchive<TEntity>.)
Public propertyMaximumQueueLength
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 TrackingArchive<TEntity>.)
Public propertyPrimitivePropertyComponents
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 TrackingArchive<TEntity>.)
Public propertyProperties
Gets a list of archived properties for this entity type. There is one property in this collection for each property in the entity's EntitySchema<TEntity>.
(Inherited from TrackingArchive<TEntity>.)
Public propertyTypeArchivers
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 TrackingArchive<TEntity>.)
Top
Methods
  NameDescription
Protected methodArchiveEntities
Archives a set of entities.
(Overrides TrackingArchive<TEntity>.ArchiveEntities(Transaction, IEnumerable<TEntity>).)
Public methodClear
Clears the contents of the archive.
(Overrides TrackingArchive<TEntity>.Clear().)
Public methodDeserialize
Deserializes the archive from the provided stream.
Public methodDispose()
Releases any resources associated with this instance.
(Inherited from TrackingArchive<TEntity>.)
Protected methodDispose(Boolean)
Releases any resources associated with this instance.
(Inherited from TrackingArchive<TEntity>.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetArchivedData(JulianDate, JulianDate, Int32,String[])
Retrieves archived properties for all entities over the provided time period.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetArchivedData(Object, JulianDate, JulianDate, Int32,String[])
Retrieves archived properties for the provided entity over the provided time period.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetArchivedInterval()
Gets the overall interval that exists in the archive for any entity.
(Overrides TrackingArchive<TEntity>.GetArchivedInterval().)
Public methodGetArchivedInterval(Object)
Gets the overall interval that exists in the archive for the specified entity identifier.
(Overrides TrackingArchive<TEntity>.GetArchivedInterval(Object).)
Protected methodGetArchivedPrimitivePropertyComponents(IEnumerable<ArchivedProperty>, JulianDate, JulianDate, Int32)
Retrieves archived primitive property components for all entities over the provided time period.
(Overrides TrackingArchive<TEntity>.GetArchivedPrimitivePropertyComponents(IEnumerable<ArchivedProperty>, JulianDate, JulianDate, Int32).)
Protected methodGetArchivedPrimitivePropertyComponents(Object, IEnumerable<ArchivedProperty>, JulianDate, JulianDate, Int32)
Retrieves archived primitive property components for the provided entity over the provided time period.
(Overrides TrackingArchive<TEntity>.GetArchivedPrimitivePropertyComponents(Object, IEnumerable<ArchivedProperty>, JulianDate, JulianDate, Int32).)
Protected methodGetEntityPrimitivePropertyComponents
Fills an array with the archived properties of an entity.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetMotion<T>(Object, JulianDate, JulianDate,String[])
Gets time-varying data, such as position and velocity, from the archive.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetMotion<T>(Object, JulianDate, JulianDate, Int32,String[])
Gets time-varying data, such as position and velocity, from the archive.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetOrientations(Object, JulianDate, JulianDate)
Gets a DateMotionCollection<T, 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 TrackingArchive<TEntity>.)
Public methodGetOrientations(Object, JulianDate, Int32)
Gets a DateMotionCollection<T, 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 TrackingArchive<TEntity>.)
Public methodGetOrientations(Object, JulianDate, JulianDate, Int32)
Gets a DateMotionCollection<T, 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 TrackingArchive<TEntity>.)
Public methodGetPositions(Object, JulianDate, JulianDate)
Gets a DateMotionCollection<T> representing the archived position, velocity and acceleration of the specified entity beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetPositions(Object, JulianDate, Int32)
Gets a DateMotionCollection<T> representing the archived position, velocity and acceleration of the specified entity beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetPositions(Object, JulianDate, JulianDate, Int32)
Gets a DateMotionCollection<T> representing the archived position, velocity and acceleration of the specified entity beginning at the specified time and lasting for the specified duration.
(Inherited from TrackingArchive<TEntity>.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSerialize
Serializes the archive to the provided stream.
Public methodStartWriting
Starts the archiver. After this method is called, all updates to entities in the Context will be archived.
(Inherited from TrackingArchive<TEntity>.)
Public methodStopWriting
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 TrackingArchive<TEntity>.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodWaitForArchiveQueue
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 TrackingArchive<TEntity>.)
Protected methodWritingShutdown (Inherited from TrackingArchive<TEntity>.)
Protected methodWritingStartup (Inherited from TrackingArchive<TEntity>.)
Top
See Also