private void StopGrid(StorageMutability mutability) { if (_igniteGrids[(int)mutability] != null) { Ignition.Stop(_igniteGrids[(int)mutability].Name, false); _igniteGrids[(int)mutability] = null; } }
public ServerSubGridTree(byte numLevels, double cellSize, ISubGridFactory subGridFactory, StorageMutability mutability) : base(numLevels, cellSize, subGridFactory) { IsMutable = mutability == StorageMutability.Mutable; SetDefaultCachingStrategy(); }
public static Guid ThisNodeID(StorageMutability mutability) { if (tRexNodeIDs[(int)mutability].Equals(Guid.Empty)) { tRexNodeIDs[(int)mutability] = Guid.Parse(DIContext.Obtain <ITRexGridFactory>().Grid(mutability).GetCluster().GetLocalNode().GetAttribute <string>("TRexNodeId")); } return(tRexNodeIDs[(int)mutability]); }
public static string SpatialCacheName(StorageMutability mutability, FileSystemStreamType streamType) { return(streamType switch { FileSystemStreamType.ProductionDataXML => SiteModelsCacheName(mutability), FileSystemStreamType.SubGridDirectory => SpatialSubGridDirectoryCacheName(mutability), FileSystemStreamType.SubGridSegment => SpatialSubGridSegmentCacheName(mutability), FileSystemStreamType.SubGridExistenceMap => ProductionDataExistenceMapCacheName(mutability), _ => string.Empty, });
/// <summary> /// Constructs a site model meta data manager instance oriented to the TRex grid that is the primary grid /// referenced by the DI'd SiteModels instance /// </summary> public SiteModelMetadataManager(StorageMutability mutability) { // Obtain the ignite reference for the primary grid orientation of SiteModels var ignite = DIContext.Obtain <ITRexGridFactory>()?.Grid(mutability); metaDataCache = ignite?.GetOrCreateCache <Guid, ISiteModelMetadata>(ConfigureCache()); if (metaDataCache == null) { throw new TRexException($"Failed to get or create Ignite cache {TRexCaches.SiteModelMetadataCacheName()}, ignite reference is {ignite}"); } }
public IStorageProxy PrimaryStorageProxy(StorageMutability mutability) { return(mutability == StorageMutability.Immutable ? PrimaryImmutableStorageProxy : PrimaryMutableStorageProxy); }
/// <summary> /// Constructs an instance using the supplied storage proxy /// </summary> public SurveyedSurfaceManager(StorageMutability mutability) { _writeStorageProxy = DIContext.Obtain <ISiteModels>().PrimaryMutableStorageProxy; _readStorageProxy = DIContext.Obtain <ISiteModels>().PrimaryStorageProxy(mutability); }
/// <summary> /// Constructs an instance using the supplied storage proxy /// </summary> public AlignmentManager(StorageMutability mutability) { _writeStorageProxy = DIContext.Obtain <ISiteModels>().PrimaryMutableStorageProxy; _readStorageProxy = DIContext.Obtain <ISiteModels>().PrimaryStorageProxy(mutability); }
public ISiteModel NewSiteModel_NonTransient(Guid id, StorageMutability requiredStorageRepresentation) => new SiteModel(id, requiredStorageRepresentation, false);
/// <summary> /// Returns the name of the spatial grid cache to use to locate cell and cell pass information /// </summary> public static string SpatialSubGridSegmentCacheName(StorageMutability mutability) => mutability == StorageMutability.Mutable ? kSpatialSubGridSegmentMutable : kSpatialSubGridSegmentImmutable;
/// <summary> /// Returns the name of the spatial grid cache to use to locate cell and cell pass information /// </summary> public static string SpatialSubGridDirectoryCacheName(StorageMutability mutability) => mutability == StorageMutability.Mutable ? kSpatialSubGridDirectoryMutable : kSpatialSubGridDirectoryImmutable;
/// <summary> /// Creates the storage proxy to be used. /// This factory method provides access to the immutable grid storage /// </summary> public IStorageProxy Storage(StorageMutability mutability) => mutability == StorageMutability.Immutable ? ImmutableGridStorage() : MutableGridStorage();
public static IStorageProxy Instance(StorageMutability mutability) { return(DIContext.Obtain <IStorageProxyFactory>()?.Storage(mutability)); }
/// <summary> /// Default no-arg constructor that sets the grid and cache name to default values /// </summary> public DesignsService(StorageMutability Mutability) : base(TRexGrids.GridName(Mutability), "DesignsService") { CacheName = TRexCaches.ImmutableNonSpatialCacheName(); }
/// <summary> /// Default no-arg constructor. Made private to enforce provision of storage proxy /// </summary> public SiteModels(StorageMutability primaryMutability) { PrimaryMutability = primaryMutability; }
/// <summary> /// Creates an appropriate new Ignite grid reference depending on the TRex Grid passed in. /// If the grid reference has previously been requested it returned from a cached reference. /// </summary> public IIgnite Grid(StorageMutability mutability, IgniteConfiguration cfg = null) { return(_igniteGrids[(int)mutability] ??= IgniteGridFactory(TRexGrids.GridName(mutability), cfg)); }
public void dumpKeysToFile(StorageMutability mutability, string fileName) { try { var ignite = DIContext.Obtain <ITRexGridFactory>()?.Grid(mutability); if (ignite == null) { Console.WriteLine($@"----> No ignite reference for {TRexGrids.GridName(mutability)} grid"); return; } using (var outFile = new FileStream(fileName, FileMode.Create)) { using (var writer = new StreamWriter(outFile) { NewLine = "\r\n" }) { if (mutability == StorageMutability.Immutable) { Console.WriteLine($"----> Writing keys for {TRexCaches.ImmutableNonSpatialCacheName()}"); try { writeKeys(TRexCaches.ImmutableNonSpatialCacheName(), writer, ignite.GetCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.ImmutableNonSpatialCacheName())); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.DesignTopologyExistenceMapsCacheName()}"); try { writeKeys(TRexCaches.DesignTopologyExistenceMapsCacheName(), writer, ignite.GetCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.DesignTopologyExistenceMapsCacheName())); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable)}"); try { WriteKeysSpatial(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Immutable))); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable)}"); try { WriteKeysSpatial(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Immutable))); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.SiteModelChangeMapsCacheName()}"); try { writeSiteModelChangeMapQueueKeys(TRexCaches.SiteModelChangeMapsCacheName(), writer, ignite.GetCache <ISiteModelMachineAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SiteModelChangeMapsCacheName())); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } } if (mutability == StorageMutability.Mutable) { Console.WriteLine($"----> Writing keys for {TRexCaches.MutableNonSpatialCacheName()}"); try { writeKeys(TRexCaches.MutableNonSpatialCacheName(), writer, ignite.GetCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.MutableNonSpatialCacheName())); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable)}"); try { WriteKeysSpatial(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridDirectoryCacheName(StorageMutability.Mutable))); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable)}"); try { WriteKeysSpatial(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable), writer, ignite.GetCache <ISubGridSpatialAffinityKey, ISerialisedByteArrayWrapper>(TRexCaches.SpatialSubGridSegmentCacheName(StorageMutability.Mutable))); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.TAGFileBufferQueueCacheName()}"); try { writeTAGFileBufferQueueKeys(TRexCaches.TAGFileBufferQueueCacheName(), writer, ignite.GetCache <ITAGFileBufferQueueKey, TAGFileBufferQueueItem>(TRexCaches.TAGFileBufferQueueCacheName())); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } Console.WriteLine($"----> Writing keys for {TRexCaches.SegmentRetirementQueueCacheName()}"); try { writeSegmentRetireeQueueKeys(TRexCaches.SegmentRetirementQueueCacheName(), writer, ignite.GetCache <ISegmentRetirementQueueKey, SegmentRetirementQueueItem>(TRexCaches.SegmentRetirementQueueCacheName())); } catch (Exception E) { writer.WriteLine($"Exception occurred: {E.Message}"); } } } } } catch (Exception ee) { Console.WriteLine(ee.ToString()); } }
public static string GridName(StorageMutability Mutability) => Mutability == StorageMutability.Mutable ? MutableGridName() : ImmutableGridName();
/// <summary> /// Default no-arg constructor supplied default TRex grid and MutableNonSpatial cache name for surveyed surface information /// </summary> public SurveyedSurfaceService(StorageMutability mutability) : base(TRexGrids.GridName(mutability), "SurveyedSurfaceService") { CacheName = TRexCaches.ImmutableNonSpatialCacheName(); }
public ISiteModel NewSiteModel(StorageMutability requiredStorageRepresentation) => new SiteModel(requiredStorageRepresentation);
public SurveyedSurfaceService(StorageMutability mutability, string cacheName) : this(mutability) { CacheName = cacheName; }
/// <summary> /// Constructor that obtains references to the mutable and immutable, spatial and non-spatial caches present in the grid /// </summary> /// <param name="mutability"></param> public StorageProxy_Ignite_Transactional(StorageMutability mutability) : base(mutability) { }
public ServerSubGridTree(Guid siteModelId, StorageMutability mutability) : this(SubGridTreeConsts.SubGridTreeLevels, SubGridTreeConsts.DefaultCellSize, new SubGridFactory <NodeSubGrid, ServerSubGridTreeLeaf>(), mutability) { ID = siteModelId; // Ensure the ID of the sub grid tree matches the datamodel ID }
protected SegmentRetirementQueueServiceProxyBase(StorageMutability mutability, RoleBasedServerNodeFilter nodeFilter) { NodeFilter = nodeFilter; _ignite = DIContext.Obtain <ITRexGridFactory>().Grid(mutability); }
/// <summary> /// Constructor that obtains references to the mutable and immutable, spatial and non-spatial caches present in the grid /// </summary> /// <param name="mutability"></param> public StorageProxy_Ignite(StorageMutability mutability) : base(mutability) { EstablishCaches(); }