Namespace Amazon.Runtime.Internal.Util
Classes
- AESDecryptionStream
A wrapper stream that decrypts the base stream using AES algorithm as it is being read.
- AESEncryptionPutObjectStream
A wrapper stream that encrypts the base stream using AES algorithm as it is being read.
- AESEncryptionUploadPartStream
A wrapper stream that encrypts the base stream as it is being read.
- AsyncHelpers
This is a utility class to be used in last resort for code paths that are synchronous but need to call an asynchronous method. This should never be used for methods that are called at high volume as this utility class has a performance cost. For example this class was added for the refreshing credentials like Cognito which would need to use this about once an hour.
- CachingWrapperStream
A stream which caches the contents of the underlying stream as it reads it.
- ChecksumUtils
Utilities for working with the checksums used to validate request/response integrity
- ChunkedUploadWrapperStream
Stream wrapper that double-buffers from a wrapped stream and returns the buffered content as a series of signed 'chunks' for the AWS4 ('Signature V4') protocol or the asymmetric Sigv4 (Sigv4a) protocol.
- CrtCrc32
Implementation of CRC32, using the SDK-wide instance of AWS Common Runtime's checksums
- CrtCrc32c
Implementation of CRC32C, using the SDK-wide instance of AWS Common Runtime's checksums
- DecryptStream
A wrapper stream that decrypts the base stream as it is being read.
- DecryptStream<T>
A wrapper stream that decrypts the base stream as it is being read.
- EncryptStream
A wrapper stream that encrypts the base stream as it is being read.
- EncryptStream<T>
A wrapper stream that encrypts the base stream as it is being read.
- EncryptUploadPartStream
A wrapper stream that encrypts the base stream as it is being read.
- EncryptUploadPartStream<T>
A wrapper stream that encrypts the base stream as it is being read.
- GuidUtils
Utilities for dealing with Guids
- HashStream
A wrapper stream that calculates a hash of the base stream as it is being read. The calculated hash is only available after the stream is closed or CalculateHash is called. After calling CalculateHash, any further reads on the streams will not change the CalculatedHash. If an ExpectedHash is specified and is not equal to the calculated hash, Close or CalculateHash methods will throw an AmazonClientException. If CalculatedHash is calculated for only the portion of the stream that is read.
- HashStream<T>
A wrapper stream that calculates a hash of the base stream as it is being read or written. The calculated hash is only available after the stream is closed or CalculateHash is called. After calling CalculateHash, any further reads on the streams will not change the CalculatedHash. If an ExpectedHash is specified and is not equal to the calculated hash, Close or CalculateHash methods will throw an AmazonClientException. If base stream's position is not 0 or HashOnReads is true and the entire stream is not read, the CalculatedHash will be set to an empty byte array and comparison to ExpectedHash will not be made.
- HostPrefixUtils
Utilities for validating label values for host prefix templates
- IniFile
Provides read/write access to a file in the INI format.
This class is not threadsafe.
- LogMessage
A single logged message
- Logger
This is a dynamic wrapper around log4net so we can avoid log4net being required to be distributed with the SDK.
- LruCache<TKey, TValue>
a size-limited cache of key value pairs
Once the maximum size has been reached, the least recently used pairs will be evicted to make room for any new items.
- LruListItem<TKey, TValue>
Item to be stored in the LruList linked list structure.
- LruList<TKey, TValue>
Helper class to support LruCache. Does not implement the error checking and synchronization that would be necessary for it to stand alone.
- MD5Stream
A wrapper stream that calculates an MD5 hash of the base stream as it is being read or written. The calculated hash is only available after the stream is closed or CalculateHash is called. After calling CalculateHash, any further reads on the streams will not change the CalculatedHash. If an ExpectedHash is specified and is not equal to the calculated hash, Close or CalculateHash methods will throw an AmazonClientException. If base stream's position is not 0 or HashOnReads is true and the entire stream is not read, the CalculatedHash will be set to an empty byte array and comparison to ExpectedHash will not be made.
- NonDisposingWrapperStream
A wrapper stream which supresses disposal of the underlying stream.
- OptimisticLockedTextFile
Provides line-based read/write access to a file. The file can be read into memory, changed, then written back to disk. When the file is persisted back to disk, an optimistic concurrency check is performed to make sure the file hasn't changed since it was originally read.
This class is not threadsafe.
- PartialReadOnlyWrapperStream
Partial wrapper stream that only supports reading
- PartialWrapperStream
This class is used to wrap a stream for a particular segment of a stream. It makes that segment look like you are reading from beginning to end of the stream.
- ProfileIniFile
Subclass of IniFile that allows INI sections to be read with the profile keyword in front of the section name.
- ReadOnlyWrapperStream
Wrapper stream that only supports reading
- S3Uri
Uri wrapper that can parse out information (bucket, key, region, style) from an S3 URI.
- SdkCache
SDK-wide cache. Provides access to caches specific to a particular set of credentials and target region.
- StringUtils
Utilities for converting objects to strings. Used by the marshaller classes.
- Timing
Timing information for a metric
- TimingEvent
Timing event, stops timing of a metric when disposed
- TrailingHeadersWrapperStream
Stream wrapper to append trailing headers, including an optional rolling checksum for a request with an unsigned payload.
- WebProxy
Custom WebProxy implementation that creates a webproxy based on user inputs(Host name and port number)
- WrapperStream
A wrapper stream.
- XMLEncodedStringWriter
Overridden StringWriter that escapes additional characters in XML requests for consistency across AWS SDKs. There isn't an XmlWriterSettings.NewLineHandling value which matches the desired encoding, so this replaces the characters that NewLineHandling.Entitize doesn't encode
Interfaces
- ICache
Interface for a non-generic cache.
- ICache<TKey, TValue>
Interface for a generic cache.