# TdApi.OptimizeStorage (tdlight API 3.3.160 API)
declaration: package: it.tdlight.jni, class: TdApi, class: OptimizeStorage

Package it.tdlight.jni

# Class TdApi.OptimizeStorage

java.lang.Object
it.tdlight.jni.TdApi.Object
it.tdlight.jni.TdApi.Function
it.tdlight.jni.TdApi.OptimizeStorage

Enclosing class:
  TdApi

    public static class TdApi.OptimizeStorage
    extends TdApi.Function

Optimizes storage usage, i.e. deletes some files and returns new storage usage statistics. Secret thumbnails can't be deleted.

Returns `StorageStatistics`

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`long[]` | `chatIds` | If non-empty, only files from the given chats are considered.
`int` | `chatLimit` | Same as in getStorageStatistics.
`static int` | `CONSTRUCTOR` |
`int` | `count` | Limit on the total count of files after deletion.
`long[]` | `excludeChatIds` | If non-empty, files from the given chats are excluded.
`TdApi.FileType[]` | `fileTypes` | If non-empty, only files with the given types are considered.
`int` | `immunityDelay` | The amount of time after the creation of a file during which it can't be deleted, in seconds.
`boolean` | `returnDeletedFileStatistics` | Pass true if statistics about the files that were deleted must be returned instead of the whole storage usage statistics.
`long` | `size` | Limit on the total size of files after deletion, in bytes.
`int` | `ttl` | Limit on the time that has passed since the last time a file was accessed (or creation time for some filesystems).

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`OptimizeStorage()` | Optimizes storage usage, i.e.
`OptimizeStorage​(long size, int ttl, int count, int immunityDelay, TdApi.FileType[] fileTypes, long[] chatIds, long[] excludeChatIds, boolean returnDeletedFileStatistics, int chatLimit)` | Optimizes storage usage, i.e.
`OptimizeStorage​(DataInput input)` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`boolean` | `equals​(Object o)` |
`int` | `getConstructor()` |
`int` | `hashCode()` |
`void` | `serialize​(DataOutput output)` |

### Methods inherited from class it.tdlight.jni.TdApi.Function

`toString`

### Methods inherited from class it.tdlight.jni.TdApi.Object

`serialize`

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

`getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### size

public long size
Limit on the total size of files after deletion, in bytes. Pass -1 to use the default limit.

### ttl

public int ttl
Limit on the time that has passed since the last time a file was accessed (or creation time for some filesystems). Pass -1 to use the default limit.

### count

public int count
Limit on the total count of files after deletion. Pass -1 to use the default limit.

### immunityDelay

public int immunityDelay
The amount of time after the creation of a file during which it can't be deleted, in seconds. Pass -1 to use the default value.

### fileTypes

public TdApi.FileType[] fileTypes
If non-empty, only files with the given types are considered. By default, all types except thumbnails, profile photos, stickers and wallpapers are deleted.

### chatIds

public long[] chatIds
If non-empty, only files from the given chats are considered. Use 0 as chat identifier to delete files not belonging to any chat (e.g., profile photos).

### excludeChatIds

public long[] excludeChatIds
If non-empty, files from the given chats are excluded. Use 0 as chat identifier to exclude all files not belonging to any chat (e.g., profile photos).

### returnDeletedFileStatistics

public boolean returnDeletedFileStatistics
Pass true if statistics about the files that were deleted must be returned instead of the whole storage usage statistics. Affects only returned statistics.

### chatLimit

public int chatLimit
Same as in getStorageStatistics. Affects only returned statistics.

### CONSTRUCTOR

public static final int CONSTRUCTOR

See Also:
  Constant Field Values

## Constructor Details

### OptimizeStorage

public OptimizeStorage()
Optimizes storage usage, i.e. deletes some files and returns new storage usage statistics. Secret thumbnails can't be deleted.

Returns `StorageStatistics`

### OptimizeStorage

public OptimizeStorage​(long size, int ttl, int count, int immunityDelay, TdApi.FileType[] fileTypes, long[] chatIds, long[] excludeChatIds, boolean returnDeletedFileStatistics, int chatLimit)
Optimizes storage usage, i.e. deletes some files and returns new storage usage statistics. Secret thumbnails can't be deleted.

Returns `StorageStatistics`

Parameters:
  `size` - long Limit on the total size of files after deletion, in bytes. Pass -1 to use the default limit.
  `ttl` - int Limit on the time that has passed since the last time a file was accessed (or creation time for some filesystems). Pass -1 to use the default limit.
  `count` - int Limit on the total count of files after deletion. Pass -1 to use the default limit.
  `immunityDelay` - int The amount of time after the creation of a file during which it can't be deleted, in seconds. Pass -1 to use the default value.
  `fileTypes` - FileType[] If non-empty, only files with the given types are considered. By default, all types except thumbnails, profile photos, stickers and wallpapers are deleted.
  `chatIds` - long[] If non-empty, only files from the given chats are considered. Use 0 as chat identifier to delete files not belonging to any chat (e.g., profile photos).
  `excludeChatIds` - long[] If non-empty, files from the given chats are excluded. Use 0 as chat identifier to exclude all files not belonging to any chat (e.g., profile photos).
  `returnDeletedFileStatistics` - boolean Pass true if statistics about the files that were deleted must be returned instead of the whole storage usage statistics. Affects only returned statistics.
  `chatLimit` - int Same as in getStorageStatistics. Affects only returned statistics.

### OptimizeStorage

public OptimizeStorage​(DataInput input) throws IOException

Throws:
  `IOException`

## Method Details

### getConstructor

public int getConstructor()

Specified by:
  `getConstructor` in class `TdApi.Object`

### serialize

public void serialize​(DataOutput output) throws IOException

Specified by:
  `serialize` in class `TdApi.Object`
Throws:
  `IOException`

### equals

public boolean equals​(Object o)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`