ISupportBinaryImageExtensionsParseBinaryImageFromStreamAsync Method

Asynchronously parses a binary image from the specified Stream into an object that implements ISupportBinaryImage.

Definition

Namespace: Gemstone.IO.Parsing
Assembly: Gemstone.Common (in Gemstone.Common.dll) Version: 1.0.141 -- Release Build+8fc1477299d57116e2a4f3cb8dfe059f814b239b
public static Task<int> ParseBinaryImageFromStreamAsync(
	this ISupportBinaryImage imageSource,
	Stream stream,
	bool readExactly = false,
	bool clearArray = false,
	CancellationToken cancellationToken = default
)

Parameters

imageSource  ISupportBinaryImage
The ISupportBinaryImage instance into which the binary image will be parsed.
stream  Stream
The Stream from which the binary image will be read.
readExactly  Boolean  (Optional)
Specifies whether the method should read exactly the number of bytes required to fill the binary image. If true, the method will ensure the exact number of bytes is read; otherwise, it reads as many bytes as are available.
clearArray  Boolean  (Optional)
Clears any rented buffers of their contents so that a subsequent consumer will not see the previous consumer's content. If false, default, the array's contents are left unchanged.
cancellationToken  CancellationToken  (Optional)
A token to monitor for cancellation requests.

Return Value

TaskInt32
A task that represents the asynchronous operation. The task result contains the number of bytes successfully parsed.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ISupportBinaryImage. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

This method uses a buffer rented from a shared ArrayPoolT to read the binary image. The buffer is returned to the pool after the operation completes.

Exceptions

ArgumentNullExceptionThrown if imageSource or stream is null.
OperationCanceledExceptionThrown if the operation is canceled via the cancellationToken.

See Also