File OpenVDS.h
-
namespace OpenVDS
Enums
-
enum class WaveletAdaptiveMode
Values:
-
enumerator BestQuality
The best quality available data is loaded (this is the only setting which will load lossless data).
-
enumerator Tolerance
An adaptive level closest to the global compression tolerance is selected when loading wavelet compressed data.
-
enumerator Ratio
An adaptive level closest to the global compression ratio is selected when loading wavelet compressed data.
-
enumerator BestQuality
Functions
-
inline OpenOptions *CreateOpenOptions(std::string url, std::string connectionString, Error &error)
Create an OpenOptions struct from a url and connection string.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
This function news a OpenOptions struct that has to be deleted by the caller. This is a helper function to allow applications modify the OpenOption before passing it to Open. Use the Open and Create functions with url and string instead if this is not needed.
-
inline bool IsSupportedProtocol(std::string url)
Verifies that the url is a supported protocol.
- Returns:
Returnes true if the protocol specifier of the url is recognised by OpenVDS, otherwise returns false
-
inline VDSHandle Open(std::string url, std::string connectionString, Error &error)
Open an existing VDS.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle OpenWithAdaptiveCompressionTolerance(std::string url, std::string connectionString, float waveletAdaptiveTolerance, Error &error)
Open an existing VDS with adaptive compression tolerance.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider
waveletAdaptiveTolerance – Wavelet adaptive tolerance. This will try to read the dataset as-if it was compressed with the given tolerance even if it was compressed with a lower tolerance or lossless.
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle OpenWithAdaptiveCompressionRatio(std::string url, std::string connectionString, float waveletAdaptiveRatio, Error &error)
Open an existing VDS with adaptive compression ratio.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider
waveletAdaptiveRatio – Wavelet adaptive ratio. This will try to read the dataset as-if it was compressed with the given ratio even if it was compressed with a lower ratio or lossless. A compression ratio of 5.0 corresponds to compressed data which is 20% of the original.
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Open(std::string url, Error &error)
Open an existing VDS. This is a simple wrapper that uses an empty connectionString.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Open(const OpenOptions &options, Error &error)
Open an existing VDS.
- Parameters:
options – The options for the connection
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Open(IOManager *ioManager, Error &error)
Open an existing VDS.
- Parameters:
ioManager – The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Open(IOManager *ioManager, LogLevel logLevel, Error &error)
Open an existing VDS.
- Parameters:
ioManager – The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
logLevel – The logging threshold
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline bool IsCompressionMethodSupported(CompressionMethod compressionMethod)
Check if a compression method is supported. Not all compression methods might be supported when creating VDSs, and this method checks if a particular compression methods is supported by this implementation.
- Parameters:
compressionMethod – The compression method to check
- Returns:
True if the compression method is supported when creating VDSs with this implementation.
-
inline VDSHandle Create(std::string url, std::string connectionString, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, CompressionMethod compressionMethod, float compressionTolerance, Error &error)
Create a new VDS.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider
compressionMethod – The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
compressionTolerance – This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(std::string url, std::string connectionString, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, Error &error)
Create a new VDS.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(std::string url, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, CompressionMethod compressionMethod, float compressionTolerance, Error &error)
Create a new VDS. This is a simple wrapper that uses an empty connectionString.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
compressionMethod – The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
compressionTolerance – This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(std::string url, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, Error &error)
Create a new VDS. This is a simple wrapper that uses an empty connectionString.
- Parameters:
url – The url scheme specific to each cloud provider Available schemes are s3:// azure://
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(const OpenOptions &options, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, CompressionMethod compressionMethod, float compressionTolerance, Error &error)
Create a new VDS.
- Parameters:
options – The options for the connection
compressionMethod – The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
compressionTolerance – This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(const OpenOptions &options, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, Error &error)
Create a new VDS.
- Parameters:
options – The options for the connection
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(IOManager *ioManager, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, CompressionMethod compressionMethod, float compressionTolerance, Error &error)
Create a new VDS.
- Parameters:
ioManager – The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
compressionMethod – The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
compressionTolerance – This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(IOManager *ioManager, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, CompressionMethod compressionMethod, float compressionTolerance, LogLevel logLevel, Error &error)
Create a new VDS.
- Parameters:
ioManager – The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
compressionMethod – The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
compressionTolerance – This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(IOManager *ioManager, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, Error &error)
Create a new VDS.
- Parameters:
ioManager – The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VDSHandle Create(IOManager *ioManager, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, LogLevel logLevel, Error &error)
Create a new VDS.
- Parameters:
ioManager – The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
error – If an error occured, the error code and message will be written to this output parameter
- Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
-
inline VolumeDataLayout *GetLayout(VDSHandle handle)
Get the VolumeDataLayout for a VDS.
- Parameters:
handle – The handle of the VDS
- Returns:
The VolumeDataLayout of the VDS
-
inline IVolumeDataAccessManager *GetAccessManagerInterface(VDSHandle handle)
Get the VolumeDataAccessManagerInterface for a VDS.
- Parameters:
handle – The handle of the VDS
- Returns:
The VolumeDataAccessManagerInterface of the VDS
-
inline VolumeDataAccessManager GetAccessManager(VDSHandle handle)
Get the VolumeDataAccessManager for a VDS.
- Parameters:
handle – The handle of the VDS
- Returns:
The VolumeDataAccessManager of the VDS
-
inline MetadataWriteAccess *GetMetadataWriteAccessInterface(VDSHandle handle)
Get the MetadataWriteAccess interface for a VDS.
- Parameters:
handle – The handle of the VDS
- Returns:
The MetadataWriteAccess interface of the VDS
-
inline CompressionMethod GetCompressionMethod(VDSHandle handle)
Get the primary CompressionMethod for a VDS.
- Parameters:
handle – The handle of the VDS
- Returns:
The CompressionMethod used for the VDS
-
inline float GetCompressionTolerance(VDSHandle handle)
Get the primary compression tolerance used for a VDS.
- Parameters:
handle – The handle of the VDS
- Returns:
The compression tolerance used for the VDS
-
inline int64_t GetWaveletCompressedSize(VDSHandle handle)
Get the total wavelet compressed size (including lossless data) of the primary layer (first dimension group, channel 0, LOD 0) of a wavelet compressed dataset.
- Parameters:
handle – The handle of the VDS
- Returns:
The total wavelet compressed size (including lossless data) of the primary layer (first dimension group, channel 0, LOD 0)
-
inline int64_t GetWaveletUncompressedSize(VDSHandle handle)
Get the uncompressed size (not counting empty/constant value blocks) of the primary layer (first dimension group, channel 0, LOD 0) of a wavelet compressed dataset.
- Parameters:
handle – The handle of the VDS
- Returns:
The uncompressed size (not counting empty/constant value blocks) of the primary layer (first dimension group, channel 0, LOD 0)
-
inline std::vector<WaveletAdaptiveLevel> GetWaveletAdaptiveLevels(VDSHandle handle)
Get a list of the available wavelet adaptive levels for the VDS.
- Parameters:
handle – The handle of the VDS
- Returns:
The list of available wavelet adaptive levels
-
inline void Close(VDSHandle handle, bool flush = true)
Close a VDS and free up all associated resources. If an error occurs, an exception will be thrown.
- Parameters:
handle – The handle of the VDS
-
inline void Close(VDSHandle handle, Error &error, bool flush = true)
Close a VDS and free up all associated resources.
- Parameters:
handle – The handle of the VDS
error – If an error occured, the error code and message will be written to this output parameter
-
inline void RetryableClose(VDSHandle handle, bool flush = true)
Close a VDS and free up all associated resources if the close succeeds. If an error occurs, an exception will be thrown.
- Parameters:
handle – The handle of the VDS
-
inline void RetryableClose(VDSHandle handle, Error &error, bool flush = true)
Close a VDS and free up all associated resources if the close succeeds.
- Parameters:
handle – The handle of the VDS
error – If an error occured, the error code and message will be written to this output parameter
-
inline GlobalState *GetGlobalState()
Get the GlobalState interface.
- Returns:
A pointer to the GlobalState interface
-
inline const char *GetOpenVDSName()
Get the name of the OpenVDS implementation.
- Returns:
A null terminated string
-
inline const char *GetOpenVDSVersion()
Get the version for the OpenVDS implementation.
- Returns:
A version string
-
inline const char *GetOpenVDSRevision()
Get revision of the OpenVDS build.
- Returns:
A revision string
-
struct AWSOpenOptions : public OpenVDS::OpenOptions
- #include <OpenVDS.h>
Options for opening a VDS in AWS.
Public Functions
-
inline AWSOpenOptions()
-
inline AWSOpenOptions(std::string const &bucket, std::string const &key, std::string const ®ion = std::string(), std::string const &endpointOverride = std::string(), int connectionTimeoutMs = 3000, int requestTimeoutMs = 6000, bool disableInitApi = false)
AWSOpenOptions constructor.
- Parameters:
bucket – The bucket of the VDS
key – The key prefix of the VDS
region – The region of the bucket of the VDS
endpointOverride – This parameter allows to override the endpoint url
connectionTimeoutMs – This parameter allows to override the time a connection can spend on connecting to AWS
requestTimeoutMs – This paramter allows to override the time a request can take
-
inline AWSOpenOptions()
-
struct AzureOpenOptions : public OpenVDS::OpenOptions
- #include <OpenVDS.h>
Options for opening a VDS in Azure.
Public Functions
-
inline AzureOpenOptions()
-
inline AzureOpenOptions(std::string const &connectionString, std::string const &container, std::string const &blob)
AzureOpenOptions constructor.
- Parameters:
connectionString – The connectionString for the VDS
container – The container of the VDS
blob – The blob prefix of the VDS
-
inline AzureOpenOptions(std::string const &connectionString, std::string const &container, std::string const &blob, int parallelism_factor, int max_execution_time)
AzureOpenOptions constructor.
- Parameters:
connectionString – The connectionString for the VDS
container – The container of the VDS
blob – The blob prefix of the VDS
parallelism_factor – The parallelism factor setting for the Azure Blob Storage library
max_execution_time – The max execution time setting for the Azure Blob Storage library
Public Static Functions
-
static inline AzureOpenOptions AzureOpenOptionsBearer(std::string const &accountName, std::string const &bearerToken, std::string const &container, std::string const &blob)
AzureOpenOptions factory function for bearer token based authentication.
- Parameters:
bearerToken – The bearer token
container – The container of the VDS
blob – The blob prefix of the VDS
- Returns:
A valid AzureOpenOptions
-
inline AzureOpenOptions()
-
struct AzurePresignedOpenOptions : public OpenVDS::OpenOptions
- #include <OpenVDS.h>
Options for opening a VDS with presigned Azure url.
Public Functions
-
inline AzurePresignedOpenOptions()
-
inline AzurePresignedOpenOptions(const std::string &baseUrl, const std::string &urlSuffix)
AzurePresignedOpenOptions constructor.
- Parameters:
baseUrl – The base url for the VDS
urlSuffix – The suffix of the presigned url
-
inline AzurePresignedOpenOptions()
-
struct DMSOpenOptions : public OpenVDS::OpenOptions
Public Functions
-
inline DMSOpenOptions()
-
inline DMSOpenOptions(std::string const &sdAuthorityUrl, std::string const &sdApiKey, std::string const &sdToken, std::string const &datasetPath, std::string const &authTokenUrl = std::string(), std::string const &refreshToken = std::string(), std::string const &clientId = std::string(), std::string const &clientSecret = std::string(), std::string const &scopes = std::string(), bool useFileNameForSingleFileDatasets = false, std::string const &legalTag = std::string(), std::string const &httpProxy = std::string())
-
inline DMSOpenOptions(std::string const &sdAuthorityUrl, std::string const &sdApiKey, std::string const &datasetPath, std::string (*authProviderCallback)(const void*), const void *authProviderCallbackData, bool useFileNameForSingleFileDatasets = false, std::string const &legalTag = std::string(), std::string const &httpProxy = std::string())
-
inline DMSOpenOptions()
-
class GoogleCredentialsJson
- #include <OpenVDS.h>
Credentials for opening a VDS in Google Cloud Storage by the string containing json with credentials Using OAuth.
Public Functions
-
inline explicit GoogleCredentialsJson(std::string const &json)
GoogleCredentialsJson constructor.
- Parameters:
json – The string containing json with credentials
Friends
- friend struct GoogleOpenOptions
-
inline explicit GoogleCredentialsJson(std::string const &json)
-
class GoogleCredentialsPath
- #include <OpenVDS.h>
Credentials for opening a VDS in Google Cloud Storage by path to the service account json file Using OAuth.
Public Functions
-
inline explicit GoogleCredentialsPath(std::string const &path)
GoogleCredentialsPath constructor.
- Parameters:
path – The path to the service account json file
Friends
- friend struct GoogleOpenOptions
-
inline explicit GoogleCredentialsPath(std::string const &path)
-
class GoogleCredentialsSignedUrl
- #include <OpenVDS.h>
Credentials for opening a VDS in Google Cloud Storage by using the default credentials Using signed URL mechanism.
Public Functions
-
inline explicit GoogleCredentialsSignedUrl(std::string const ®ion)
GoogleCredentialsSignedUrl constructor.
- Parameters:
region – The string containing the region required for signature generation
Friends
- friend struct GoogleOpenOptions
-
inline explicit GoogleCredentialsSignedUrl(std::string const ®ion)
-
class GoogleCredentialsSignedUrlJson
- #include <OpenVDS.h>
Credentials for opening a VDS in Google Cloud Storage by the string containing json with credentials Using signed URL mechanism.
Public Functions
-
inline explicit GoogleCredentialsSignedUrlJson(std::string const ®ion, std::string const &json)
GoogleCredentialsSignedUrlJson constructor.
- Parameters:
region – The string containing the region required for signature generation
json – The string containing json with credentials
Friends
- friend struct GoogleOpenOptions
-
inline explicit GoogleCredentialsSignedUrlJson(std::string const ®ion, std::string const &json)
-
class GoogleCredentialsSignedUrlPath
- #include <OpenVDS.h>
Credentials for opening a VDS in Google Cloud Storage by path to the service account json file Using signed URL mechanism.
Public Functions
-
inline explicit GoogleCredentialsSignedUrlPath(std::string const ®ion, std::string const &path)
GoogleCredentialsSignedUrlPath constructor.
- Parameters:
region – The string containing the region required for signature generation
path – The path to the service account json file
Friends
- friend struct GoogleOpenOptions
-
inline explicit GoogleCredentialsSignedUrlPath(std::string const ®ion, std::string const &path)
-
class GoogleCredentialsToken
- #include <OpenVDS.h>
Credentials for opening a VDS in Google Cloud Storage by using the string containing an access token Using OAuth.
Public Functions
-
inline explicit GoogleCredentialsToken(std::string const &token)
GoogleCredentialsToken constructor.
- Parameters:
token – The string containing an access token
Friends
- friend struct GoogleOpenOptions
-
inline explicit GoogleCredentialsToken(std::string const &token)
-
struct GoogleOpenOptions : public OpenVDS::OpenOptions
- #include <OpenVDS.h>
Options for opening a VDS in Google Cloud Storage.
Public Types
-
enum class CredentialsType : CredentialsIntType
Values:
-
enumerator Default
-
enumerator AccessToken
-
enumerator Path
-
enumerator Json
-
enumerator SignedUrl
-
enumerator SignedUrlPath
-
enumerator SignedUrlJson
-
enumerator Default
-
using CredentialsIntType = unsigned int
Public Functions
-
inline GoogleOpenOptions()
-
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix)
GoogleOpenOptions constructor.
- Parameters:
bucket – The bucket of the VDS
pathPrefix – The prefix of the VDS
credentials – Google Cloud Storage access credentials
-
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsToken const &credentials)
-
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsPath const &credentials)
-
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsJson const &credentials)
-
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsSignedUrl const &credentials)
-
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsSignedUrlPath const &credentials)
-
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsSignedUrlJson const &credentials)
-
inline bool SetSignedUrl()
-
enum class CredentialsType : CredentialsIntType
-
struct HttpOpenOptions : public OpenVDS::OpenOptions
- #include <OpenVDS.h>
Options for opening a VDS with a plain HTTP url. If there are query parameters in then they will be appended to the different sub urls. The resulting IO backend will not support uploading data.
Public Functions
-
inline HttpOpenOptions()
-
inline HttpOpenOptions(std::string const &url)
HttpOpenOptions constructor.
- Parameters:
url – The http base url of the VDS
-
inline HttpOpenOptions()
-
struct InMemoryOpenOptions : public OpenVDS::OpenOptions
- #include <OpenVDS.h>
Options for opening a VDS which is stored in memory (for testing)
-
struct OpenOptions
Subclassed by OpenVDS::AWSOpenOptions, OpenVDS::AzureOpenOptions, OpenVDS::AzurePresignedOpenOptions, OpenVDS::DMSOpenOptions, OpenVDS::GoogleOpenOptions, OpenVDS::HttpOpenOptions, OpenVDS::InMemoryOpenOptions, OpenVDS::VDSFileOpenOptions
Public Types
Public Functions
-
inline virtual ~OpenOptions()
Public Members
-
ConnectionType connectionType
-
WaveletAdaptiveMode waveletAdaptiveMode
This property (only relevant when using Wavelet compression) is used to control how the wavelet adaptive compression determines which level of wavelet compressed data to load. Depending on the setting, either the global or local WaveletAdaptiveTolerance or the WaveletAdaptiveRatio can be used.
-
float waveletAdaptiveTolerance
Wavelet adaptive tolerance, this setting will be used whenever the WavletAdaptiveMode is set to Tolerance.
-
float waveletAdaptiveRatio
Wavelet adaptive ratio, this setting will be used whenever the WavletAdaptiveMode is set to Ratio. A compression ratio of 5.0 corresponds to compressed data which is 20% of the original.
-
int requestThreadCount
Number of threads used to process requests.
Protected Functions
-
inline OpenOptions(ConnectionType connectionType)
-
inline OpenOptions(ConnectionType connectionType, WaveletAdaptiveMode waveletAdaptiveMode, float waveletAdaptiveTolerance, float waveletAdaptiveRatio, LogLevel logLevel)
-
inline virtual ~OpenOptions()
-
class ScopedVDSHandle
Public Functions
-
inline ScopedVDSHandle()
-
inline ScopedVDSHandle(ScopedVDSHandle &&VDS)
-
inline ~ScopedVDSHandle()
-
inline void Close()
Close the VDS and free up all associated resources. If an error occurs, an exception will be thrown.
-
inline void RetryableClose()
Close the VDS and free up all associated resources if the close succeeds. If an error occurs, an exception will be thrown.
-
inline void RetryableClose(Error &error)
Close the VDS and free up all associated resources if the close succeeds.
-
inline operator bool() const
-
inline ScopedVDSHandle &operator=(VDSHandle const &VDS) noexcept(true)
-
inline ScopedVDSHandle &operator=(ScopedVDSHandle &&VDS) noexcept(true)
-
inline ScopedVDSHandle()
-
struct VDSFileOpenOptions : public OpenVDS::OpenOptions
- #include <OpenVDS.h>
Options for opening a VDS file.
Public Functions
-
inline VDSFileOpenOptions()
-
inline VDSFileOpenOptions(const std::string &fileName)
VDSFileOpenOptions constructor.
- Parameters:
fileName – The name of the VDS file
-
inline VDSFileOpenOptions()
-
enum class WaveletAdaptiveMode