/// <summary> /// Creates new segment /// </summary> public static DiskQueueSegmentWrapper <T> CreateSegmentWrapped <T>(this DiskQueueSegmentFactory <T> factory, string path, long number) { Debug.Assert(factory != null); var segment = factory.CreateSegment(path, number); return(new DiskQueueSegmentWrapper <T>(segment)); }
/// <summary> /// Creates new segment /// </summary> public static DiskQueueSegmentWrapper <T> CreateSegmentWrapped <T>(this DiskQueueSegmentFactory <T> factory, string path, long number) { TurboContract.Requires(factory != null, conditionString: "factory != null"); var segment = factory.CreateSegment(path, number); return(new DiskQueueSegmentWrapper <T>(segment)); }
/// <summary> /// Discovers existed segments /// </summary> public static DiskQueueSegmentWrapper <T>[] DiscoverSegmentsWrapped <T>(this DiskQueueSegmentFactory <T> factory, string path) { Debug.Assert(factory != null); var discovered = factory.DiscoverSegments(path); if (discovered == null) { throw new InvalidOperationException("Existed segment discovery returned null"); } DiskQueueSegmentWrapper <T>[] result = new DiskQueueSegmentWrapper <T> [discovered.Length]; for (int i = 0; i < discovered.Length; i++) { result[i] = new DiskQueueSegmentWrapper <T>(discovered[i]); } return(result); }