## Uses of Interface
org.apache.ignite.lang.IgniteOutClosure

Packages that use IgniteOutClosure
org.apache.ignite.internal: Contains main implementation.
org.apache.ignite.internal.direct.state
org.apache.ignite.internal.processors.cache.persistence: This package contain cache with persistence implementation.
org.apache.ignite.internal.processors.cache.persistence.file
org.apache.ignite.internal.processors.cache.persistence.pagemem: This package contains page memory implementation for case persitence is enabled.
org.apache.ignite.internal.processors.cache.transactions
org.apache.ignite.internal.processors.platform.compute
org.apache.ignite.internal.util: System-wide utility routine and helper classes.
org.apache.ignite.internal.util.future: Future related classes.
org.apache.ignite.internal.util.lang
org.apache.ignite.internal.util.typedef: Contains typedefs definitions for frequently used classes.

### Uses of IgniteOutClosure in org.apache.ignite.internal

Methods in org.apache.ignite.internal with parameters of type IgniteOutClosure
`<T> IgniteInternalFuture<T>` IgniteInternalFuture.`chain​(IgniteOutClosure<T> doneCb)` Make a chained future to convert result of this future (when complete) into a new format.
`<T> IgniteInternalFuture<T>` IgniteInternalFuture.`chain​(IgniteOutClosure<T> doneCb, Executor exec)` Make a chained future to convert result of this future (when complete) into a new format.

### Uses of IgniteOutClosure in org.apache.ignite.internal.direct.state

Constructors in org.apache.ignite.internal.direct.state with parameters of type IgniteOutClosure
`DirectMessageState​(Class<T> cls, IgniteOutClosure<T> factory)`

### Uses of IgniteOutClosure in org.apache.ignite.internal.processors.cache.persistence

Methods in org.apache.ignite.internal.processors.cache.persistence that return IgniteOutClosure
`protected IgniteOutClosure<Long>` GridCacheDatabaseSharedManager.`freeSpaceProvider​(DataRegionConfiguration dataRegCfg)` Deprecated.
`protected IgniteOutClosure<Long>` IgniteCacheDatabaseSharedManager.`freeSpaceProvider​(DataRegionConfiguration dataRegCfg)` Deprecated. use `IgniteCacheDatabaseSharedManager.dataRegionMetricsProvider(DataRegionConfiguration)` instead.

Methods in org.apache.ignite.internal.processors.cache.persistence with parameters of type IgniteOutClosure
`void` DataStorageMetricsImpl.`setWalSizeProvider​(IgniteOutClosure<Long> walSizeProvider)`

### Uses of IgniteOutClosure in org.apache.ignite.internal.processors.cache.persistence.file

Methods in org.apache.ignite.internal.processors.cache.persistence.file with parameters of type IgniteOutClosure
`<T> T` FilePageStoreManager.LongOperationAsyncExecutor.`afterAsyncCompletion​(IgniteOutClosure<T> closure)` Executes closure that can't run in parallel with long operation that is executed by `FilePageStoreManager.LongOperationAsyncExecutor.async(java.lang.Runnable)`.
`PageStore` FileVersionCheckingFactory.`createPageStore​(byte type, IgniteOutClosure<Path> pathProvider, LongConsumer allocatedTracker)` Creates instance of PageStore based on file path provider.

Constructors in org.apache.ignite.internal.processors.cache.persistence.file with parameters of type IgniteOutClosure
`FilePageStore​(byte type, IgniteOutClosure<Path> pathProvider, FileIOFactory factory, int pageSize, LongConsumer allocatedTracker)`
`FilePageStoreV2​(byte type, IgniteOutClosure<Path> pathProvider, FileIOFactory factory, int pageSize, LongConsumer allocatedTracker)` Constructor which initializes file path provider closure, allowing to calculate file path in any time.

### Uses of IgniteOutClosure in org.apache.ignite.internal.processors.cache.persistence.pagemem

Constructors in org.apache.ignite.internal.processors.cache.persistence.pagemem with parameters of type IgniteOutClosure

`PageMemoryImpl​(DirectMemoryProvider directMemoryProvider, long[] sizes, GridCacheSharedContext<?,​?> ctx, PageReadWriteManager pmPageMgr, int pageSize, PageStoreWriter flushDirtyPage, boolean trackable, CheckpointLockStateChecker stateChecker, DataRegionMetricsImpl dataRegionMetrics, DataRegionConfiguration dataRegionCfg, @Nullable PageMemoryImpl.ThrottlingPolicy throttlingPlc, IgniteOutClosure<CheckpointProgress> cpProgressProvider)`

`PagesWriteSpeedBasedThrottle​(PageMemoryImpl pageMemory, IgniteOutClosure<CheckpointProgress> cpProgress, CheckpointLockStateChecker stateChecker, IgniteLogger log)`
`PagesWriteThrottle​(PageMemoryImpl pageMemory, IgniteOutClosure<CheckpointProgress> cpProgress, CheckpointLockStateChecker stateChecker, boolean throttleOnlyPagesInCheckpoint, IgniteLogger log)`

### Uses of IgniteOutClosure in org.apache.ignite.internal.processors.cache.transactions

Methods in org.apache.ignite.internal.processors.cache.transactions with parameters of type IgniteOutClosure
`void` IgniteTxManager.`checkEmptyTransactions​(@NotNull IgniteOutClosure<String> errMsgConstructor)` Method checks that current thread does not have active transactions.

### Uses of IgniteOutClosure in org.apache.ignite.internal.processors.platform.compute

Methods in org.apache.ignite.internal.processors.platform.compute with parameters of type IgniteOutClosure
`IgniteInternalFuture` PlatformCompute.ComputeConvertingFuture.`chain​(IgniteOutClosure doneCb)` Make a chained future to convert result of this future (when complete) into a new format.
`IgniteInternalFuture` PlatformCompute.ComputeConvertingFuture.`chain​(IgniteOutClosure doneCb, Executor exec)` Make a chained future to convert result of this future (when complete) into a new format.

### Uses of IgniteOutClosure in org.apache.ignite.internal.util

Methods in org.apache.ignite.internal.util with parameters of type IgniteOutClosure
`static <R> R` IgniteUtils.`wrapThreadLoader​(ClassLoader ldr, IgniteOutClosure<R> c)` Sets thread context class loader to the given loader, executes the closure, and then resets thread context class loader to its initial value.

### Uses of IgniteOutClosure in org.apache.ignite.internal.util.future

Methods in org.apache.ignite.internal.util.future with parameters of type IgniteOutClosure
`<R> IgniteInternalFuture<R>` GridFinishedFuture.`chain​(IgniteOutClosure<R> doneCb)` Make a chained future to convert result of this future (when complete) into a new format.
`<R> IgniteInternalFuture<R>` GridFinishedFuture.`chain​(IgniteOutClosure<R> doneCb, Executor exec)` Make a chained future to convert result of this future (when complete) into a new format.
`<T> IgniteInternalFuture<T>` GridFutureAdapter.`chain​(IgniteOutClosure<T> doneCb)` Make a chained future to convert result of this future (when complete) into a new format.
`<T> IgniteInternalFuture<T>` GridFutureAdapter.`chain​(IgniteOutClosure<T> doneCb, Executor exec)` Make a chained future to convert result of this future (when complete) into a new format.

Constructors in org.apache.ignite.internal.util.future with parameters of type IgniteOutClosure
`GridEmbeddedFuture​(IgniteInternalFuture<B> embedded, IgniteOutClosure<IgniteInternalFuture<A>> c)`

### Uses of IgniteOutClosure in org.apache.ignite.internal.util.lang

Subinterfaces of IgniteOutClosure in org.apache.ignite.internal.util.lang
`interface` `IgniteReducer2<E1,​E2,​R>` Defines generic `for-all` or `reduce` type of closure.
`interface` `IgniteReducer3<E1,​E2,​E3,​R>` Defines generic `for-all` or `reduce` type of closure.

Classes in org.apache.ignite.internal.util.lang that implement IgniteOutClosure
`class` `IgniteOutClosureX<T>` Convenient out-closure subclass that allows for thrown grid exception.
`class` `IgniteReducer2X<E1,​E2,​R>` Convenient reducer subclass that allows for thrown grid exception.
`class` `IgniteReducer3X<E1,​E2,​E3,​R>` Convenient reducer subclass that allows for thrown grid exception.

### Uses of IgniteOutClosure in org.apache.ignite.internal.util.typedef

Subinterfaces of IgniteOutClosure in org.apache.ignite.internal.util.typedef
`interface` `CO<T>` Defines `alias` for `IgniteOutClosure` by extending it.
`interface` `R2<E1,​E2,​R>` Defines `alias` for `IgniteReducer2` by extending it.
`interface` `R3<E1,​E2,​E3,​R>` Defines `alias` for `IgniteReducer3` by extending it.

Classes in org.apache.ignite.internal.util.typedef that implement IgniteOutClosure
`class` `COX<T>` Defines `alias` for `IgniteOutClosureX` by extending it.
`class` `RX2<E1,​E2,​R>` Defines `alias` for `IgniteReducer2X` by extending it.
`class` `RX3<E1,​E2,​E3,​R>` Defines `alias` for `IgniteReducer3X` by extending it.