Package org.apache.ignite.internal.processors.cache.persistence.snapshot

## Class SnapshotSender

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotSender

    public abstract class SnapshotSender
    extends Object

### Field Summary

Fields
`protected IgniteLogger` `log` Ignite logger to use.

### Constructor Summary

Constructors
`protected` `SnapshotSender​(IgniteLogger log, Executor exec)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`void` `close​(@Nullable Throwable th)` Closes this snapshot sender and releases any resources associated with it.
`protected void` `close0​(@Nullable Throwable th)` Closes this snapshot sender and releases any resources associated with it.
`Executor` `executor()`
`protected abstract void` `init​(int partsCnt)`
`void` `sendBinaryMeta​(Collection<BinaryType> types)`
`protected void` `sendBinaryMeta0​(Collection<BinaryType> types)`
`void` `sendCacheConfig​(File ccfg, String cacheDirName)`
`protected void` `sendCacheConfig0​(File ccfg, String cacheDirName)`
`void` `sendDelta​(File delta, String cacheDirName, GroupPartitionId pair)`
`protected abstract void` `sendDelta0​(File delta, String cacheDirName, GroupPartitionId pair)`
`void` `sendMarshallerMeta​(List<Map<Integer,​MappedName>> mappings)`
`protected void` `sendMarshallerMeta0​(List<Map<Integer,​MappedName>> mappings)`
`void` `sendPart​(File part, String cacheDirName, GroupPartitionId pair, Long length)`
`protected abstract void` `sendPart0​(File part, String cacheDirName, GroupPartitionId pair, Long length)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### log

    protected final IgniteLogger log

Ignite logger to use.

### Constructor Detail

#### SnapshotSender

    protected SnapshotSender​(IgniteLogger log,
                             Executor exec)

Parameters:
  `log` - Ignite logger to use.

### Method Detail

#### executor

    public Executor executor()

Returns:
  Executor to run internal operations on.

#### sendMarshallerMeta

    public final void sendMarshallerMeta​(List<Map<Integer,​MappedName>> mappings)

Parameters:
  `mappings` - Local node marshaller mappings.

#### sendBinaryMeta

    public final void sendBinaryMeta​(Collection<BinaryType> types)

Parameters:
  `types` - Collection of known binary types.

#### sendCacheConfig

    public final void sendCacheConfig​(File ccfg,
                                      String cacheDirName)

Parameters:
  `ccfg` - Cache configuration file.
  `cacheDirName` - Cache group directory name.

#### sendPart

    public final void sendPart​(File part,
                               String cacheDirName,
                               GroupPartitionId pair,
                               Long length)

Parameters:
  `part` - Partition file to send.
  `cacheDirName` - Cache group directory name.
  `pair` - Group id with partition id pair.
  `length` - Partition length.

#### sendDelta

    public final void sendDelta​(File delta,
                                String cacheDirName,
                                GroupPartitionId pair)

Parameters:
  `delta` - Delta pages file.
  `cacheDirName` - Cache group directory name.
  `pair` - Group id with partition id pair.

#### close

    public final void close​(@Nullable
                            @Nullable Throwable th)

Closes this snapshot sender and releases any resources associated with it. If the sender is already closed then invoking this method has no effect.

Parameters:
  `th` - An exception occurred during snapshot operation processing.

#### init

    protected abstract void init​(int partsCnt)

Parameters:
  `partsCnt` - Number of objects to process.

#### sendPart0

    protected abstract void sendPart0​(File part,
                                      String cacheDirName,
                                      GroupPartitionId pair,
                                      Long length)

Parameters:
  `part` - Partition file to send.
  `cacheDirName` - Cache group directory name.
  `pair` - Group id with partition id pair.
  `length` - Partition length.

#### sendDelta0

    protected abstract void sendDelta0​(File delta,
                                       String cacheDirName,
                                       GroupPartitionId pair)

Parameters:
  `delta` - Delta pages file.
  `cacheDirName` - Cache group directory name.
  `pair` - Group id with partition id pair.

#### sendMarshallerMeta0

    protected void sendMarshallerMeta0​(List<Map<Integer,​MappedName>> mappings)

Parameters:
  `mappings` - Local node marshaller mappings.

#### sendBinaryMeta0

    protected void sendBinaryMeta0​(Collection<BinaryType> types)

Parameters:
  `types` - Collection of known binary types.

#### sendCacheConfig0

    protected void sendCacheConfig0​(File ccfg,
                                    String cacheDirName)

Parameters:
  `ccfg` - Cache configuration file.
  `cacheDirName` - Cache group directory name.

#### close0

    protected void close0​(@Nullable
                          @Nullable Throwable th)

Closes this snapshot sender and releases any resources associated with it. If the sender is already closed then invoking this method has no effect.