C# Class ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow

Contains the output from the Inflation process. We need to have a window so that we can refer backwards into the output stream to repeat stuff.
Author of the original java version : John Leuner
Afficher le fichier Open project: icsharpcode/SharpZipLib Class Usage Examples

Méthodes publiques

Méthode Description
CopyDict ( byte dictionary, int offset, int length ) : void

Copy dictionary to window

CopyOutput ( byte output, int offset, int len ) : int

Copy contents of window to output

CopyStored ( StreamManipulator input, int length ) : int

Copy from input manipulator to internal window

GetAvailable ( ) : int

Get bytes available for output in window

GetFreeSpace ( ) : int

Get remaining unfilled space in window

Repeat ( int length, int distance ) : void

Append a byte pattern already in the window itself

Reset ( ) : void

Reset by clearing window so GetAvailable returns 0

Write ( int value ) : void

Write a byte to this output window

Private Methods

Méthode Description
SlowRepeat ( int repStart, int length, int distance ) : void

Method Details

CopyDict() public méthode

Copy dictionary to window
/// If window isnt empty ///
public CopyDict ( byte dictionary, int offset, int length ) : void
dictionary byte source dictionary
offset int offset of start in source dictionary
length int length of dictionary
Résultat void

CopyOutput() public méthode

Copy contents of window to output
/// If a window underflow occurs ///
public CopyOutput ( byte output, int offset, int len ) : int
output byte buffer to copy to
offset int offset to start at
len int number of bytes to count
Résultat int

CopyStored() public méthode

Copy from input manipulator to internal window
public CopyStored ( StreamManipulator input, int length ) : int
input StreamManipulator source of data
length int length of data to copy
Résultat int

GetAvailable() public méthode

Get bytes available for output in window
public GetAvailable ( ) : int
Résultat int

GetFreeSpace() public méthode

Get remaining unfilled space in window
public GetFreeSpace ( ) : int
Résultat int

Repeat() public méthode

Append a byte pattern already in the window itself
/// If the repeated data overflows the window ///
public Repeat ( int length, int distance ) : void
length int length of pattern to copy
distance int distance from end of window pattern occurs
Résultat void

Reset() public méthode

Reset by clearing window so GetAvailable returns 0
public Reset ( ) : void
Résultat void

Write() public méthode

Write a byte to this output window
/// if window is full ///
public Write ( int value ) : void
value int value to write
Résultat void