IBlobManagementOptions class

IBlobManagementOptions class

A Binary Large Object (BLOB) is a binary data stored as a single entity - i.e. BLOB can be an audio, video or presentation itself. A number of techniques are used to optimize memory consumption while working with BLOBs - which was already stored in the presentation or be added later programmatically. Using IBlobManagementOptions you can change a different behavior aspects regarding BLOBs handling for the IPresentation instance lifetime.

The IBlobManagementOptions type exposes the following members:

Properties

PropertyDescription
presentation_locking_behaviorThis property defines if an instance of the Presentation class can be an owner of the source - file
or stream during the instance lifetime. If the instance is an owner, it locks the source. This helps
to improve memory consumption and performance while working with BLOBs, but the source (stream or file)
can’t be changed during Presentation’s instance lifetime. This is an example:
is_temporary_files_allowedThis property defines if temporary files can be created while working with BLOBs, what greatly
decreases the memory consumption but requires permissions to create files.
All files will be deleted after work with the presentation will be finished.
temp_files_root_pathThe root path where temporary files will be created. System temorary directory will be used by default.
Hosting process should have permissions to
create files and folders there.
max_blobs_bytes_in_memoryDefines the maximum amount (in bytes) that all BLOBs in total may occupy in memory. First, all BLOBs
loading into memory as default behavior and only when it reaches the limit defined by this property,
other mechanisms (such as temporary files) can be involved. In terms of performance, the most efficient
way is storing BLOBs in memory, but from the other side, it leads to a high memory consumption what
may be undesirable. Using this property, you may set the optimal behavior for your environment or
other requirements.

This property will be ignored if IBlobManagementOptions.is_temporary_files_allowed is
set to false. It makes no sense to limit the maximum BLOBs in memory, because if
IBlobManagementOptions.is_temporary_files_allowed is set to false, the memory is the only place
where BLOBs can be stored.
Default value is 629,145,600 bytes (600Mb).

See Also