Class IOMiscUtils
Inheritance
System.Object
IOMiscUtils
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: NFX
Assembly: NFX.dll
Syntax
public static class IOMiscUtils
Fields
IO_WAIT_DEFAULT_TIMEOUT
Declaration
public const int IO_WAIT_DEFAULT_TIMEOUT = 2000
Field Value
Type |
Description |
System.Int32 |
|
IO_WAIT_GRANULARITY_MS
Declaration
public const int IO_WAIT_GRANULARITY_MS = 200
Field Value
Type |
Description |
System.Int32 |
|
IO_WAIT_MIN_TIMEOUT
Declaration
public const int IO_WAIT_MIN_TIMEOUT = 100
Field Value
Type |
Description |
System.Int32 |
|
Methods
AsCharEnumerable(Stream)
Declaration
public static IEnumerable<char> AsCharEnumerable(this Stream stream)
Parameters
Type |
Name |
Description |
System.IO.Stream |
stream |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<System.Char> |
|
AsCharEnumerable(TextReader)
Declaration
public static IEnumerable<char> AsCharEnumerable(this TextReader reader)
Parameters
Type |
Name |
Description |
System.IO.TextReader |
reader |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<System.Char> |
|
CopyStream(Stream, Stream, Boolean)
Copies one stream into another using temp buffer
Declaration
public static void CopyStream(Stream from, Stream to, bool noCache = false)
Parameters
Type |
Name |
Description |
System.IO.Stream |
from |
|
System.IO.Stream |
to |
|
System.Boolean |
noCache |
|
EnsureAccessibleDirectory(String)
Creates directory and immediately grants it accessibility rules for everyone if it does not exists,
or returns the existing directory
Declaration
public static DirectoryInfo EnsureAccessibleDirectory(string path)
Parameters
Type |
Name |
Description |
System.String |
path |
|
Returns
Type |
Description |
System.IO.DirectoryInfo |
|
EnsureDirectoryDeleted(String, Int32)
Tries to delete the specified directory if it exists BLOCKING for up to the specified interval until directory is PHYSICALLY deleted.
Returns true when directory either did not exist in the first place or was successfully deleted (with confirmation).
Returns false when directory could not be confirmed to be deleted within the specified timeout, this does not mean
that the OS will not delete the directory later, so calling this function in a loop is expected.
NOTE: Directory.Delete() does not guarantee that directory is no longer on disk upon its return
Declaration
public static bool EnsureDirectoryDeleted(string dirName, int timeoutMs = 2000)
Parameters
Type |
Name |
Description |
System.String |
dirName |
Directory to delete
|
System.Int32 |
timeoutMs |
Timeout in ms
|
Returns
Type |
Description |
System.Boolean |
|
EnsureFileEventuallyDeleted(String)
Deleted file if it exists - does not block until file is deleted, the behavior is up to the OS
Declaration
public static void EnsureFileEventuallyDeleted(string fileName)
Parameters
Type |
Name |
Description |
System.String |
fileName |
Full file name with path
|
GetURL(String, Int32)
Fetch the content of a given URL.
Declaration
public static KeyValuePair<HttpStatusCode, string> GetURL(string urlAddress, int timeout = 5000)
Parameters
Type |
Name |
Description |
System.String |
urlAddress |
|
System.Int32 |
timeout |
|
Returns
Type |
Description |
System.Collections.Generic.KeyValuePair<System.Net.HttpStatusCode, System.String> |
Return fetched URL as a string, or null string when resulting status code is not HttpStatusCode.OK.
|
GuidFromNetworkByteOrder(Byte[], Int32)
Declaration
public static Guid GuidFromNetworkByteOrder(this byte[] buf, int offset = 0)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
offset |
|
Returns
Type |
Description |
System.Guid |
|
MemBufferEquals(Byte[], Byte[])
Returns true if both buffers contain the same number of the same bytes.
The implementation uses quad-word comparison as much as possible for speed.
Requires UNSAFE switch
Declaration
public static bool MemBufferEquals(this byte[] buf1, byte[] buf2)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf1 |
|
System.Byte[] |
buf2 |
|
Returns
Type |
Description |
System.Boolean |
|
PackISO3CodeToInt(String)
Represents an ISO code as 4 byte integer filled with
up to 3 ASCII chars converted to upper case, the highest byte is free to be used by the application
Declaration
public static int PackISO3CodeToInt(string iso)
Parameters
Type |
Name |
Description |
System.String |
iso |
|
Returns
Type |
Description |
System.Int32 |
|
ReadBEInt32(Byte[])
Reads an integer encoded as big endian from buffer at index 0
Declaration
public static int ReadBEInt32(this byte[] buf)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
Returns
Type |
Description |
System.Int32 |
|
ReadBEInt32(Byte[], ref Int32)
Reads an integer encoded as big endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static int ReadBEInt32(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.Int32 |
|
ReadBEInt32(Byte[], ref Int64)
Reads an integer encoded as big endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static int ReadBEInt32(this byte[] buf, ref long idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int64 |
idx |
|
Returns
Type |
Description |
System.Int32 |
|
ReadBEInt32(Stream)
Reads an integer encoded as big endian from buffer at the specified index
Declaration
public static int ReadBEInt32(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.Int32 |
|
ReadBEShort(Byte[], ref Int32)
Reads a short encoded as big endian from buffer at the specified index
Declaration
public static short ReadBEShort(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.Int16 |
|
ReadBEShort(Stream)
Reads a short encoded as big endian from stream
Declaration
public static short ReadBEShort(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.Int16 |
|
ReadBEUInt32(Byte[])
Reads an unsigned integer encoded as big endian from buffer at index 0
Declaration
public static uint ReadBEUInt32(this byte[] buf)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
Returns
Type |
Description |
System.UInt32 |
|
ReadBEUInt32(Byte[], ref Int32)
Reads an unsigned integer encoded as big endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static uint ReadBEUInt32(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.UInt32 |
|
ReadBEUInt32(Byte[], ref Int64)
Reads an unsigned integer encoded as big endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static uint ReadBEUInt32(this byte[] buf, ref long idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int64 |
idx |
|
Returns
Type |
Description |
System.UInt32 |
|
ReadBEUInt64(Byte[], Int32)
Reads an integer encoded as big endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static ulong ReadBEUInt64(this byte[] buf, int idx = 0)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.UInt64 |
|
ReadBEUInt64(Byte[], ref Int32)
Reads an integer encoded as big endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static ulong ReadBEUInt64(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.UInt64 |
|
ReadBEUInt64(Stream)
Reads an integer encoded as big endian from buffer at the specified index
Declaration
public static ulong ReadBEUInt64(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.UInt64 |
|
ReadBEUShort(Stream)
Reads an ushort encoded as big endian from stream
Declaration
public static ushort ReadBEUShort(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.UInt16 |
|
ReadLEInt32(Byte[])
Reads an integer encoded as little endian from buffer at index 0
Declaration
public static int ReadLEInt32(this byte[] buf)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
Returns
Type |
Description |
System.Int32 |
|
ReadLEInt32(Byte[], ref Int32)
Reads an integer encoded as little endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static int ReadLEInt32(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.Int32 |
|
ReadLEInt32(Byte[], ref Int64)
Reads an integer encoded as little endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static int ReadLEInt32(this byte[] buf, ref long idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int64 |
idx |
|
Returns
Type |
Description |
System.Int32 |
|
ReadLEInt32(Stream)
Reads an integer encoded as little endian from buffer at the specified index
Declaration
public static int ReadLEInt32(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.Int32 |
|
ReadLEShort(Byte[], ref Int32)
Reads a short encoded as little endian from buffer at the specified index
Declaration
public static short ReadLEShort(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.Int16 |
|
ReadLEShort(Stream)
Reads a short encoded as little endian from stream
Declaration
public static short ReadLEShort(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.Int16 |
|
ReadLEUInt32(Byte[])
Reads an unsigned integer encoded as little endian from buffer at index 0
Declaration
public static uint ReadLEUInt32(this byte[] buf)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
Returns
Type |
Description |
System.UInt32 |
|
ReadLEUInt32(Byte[], ref Int32)
Reads an unsigned integer encoded as little endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static uint ReadLEUInt32(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.UInt32 |
|
ReadLEUInt32(Byte[], ref Int64)
Reads an unsigned integer encoded as little endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static uint ReadLEUInt32(this byte[] buf, ref long idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int64 |
idx |
|
Returns
Type |
Description |
System.UInt32 |
|
ReadLEUInt64(Byte[], Int32)
Reads an integer encoded as little endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static ulong ReadLEUInt64(this byte[] buf, int idx = 0)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.UInt64 |
|
ReadLEUInt64(Byte[], ref Int32)
Reads an integer encoded as little endian from buffer at the specified index
and increments the idx by the number of bytes read
Declaration
public static ulong ReadLEUInt64(this byte[] buf, ref int idx)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
Returns
Type |
Description |
System.UInt64 |
|
ReadLEUInt64(Stream)
Reads an integer encoded as little endian from buffer at the specified index
Declaration
public static ulong ReadLEUInt64(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.UInt64 |
|
ReadLEUShort(Stream)
Reads an ushort encoded as little endian from stream
Declaration
public static ushort ReadLEUShort(this Stream s)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
Returns
Type |
Description |
System.UInt16 |
|
ReadLine(String)
Reads first line from the string
Declaration
public static string ReadLine(this string str)
Parameters
Type |
Name |
Description |
System.String |
str |
|
Returns
Type |
Description |
System.String |
|
ToNetworkByteOrder(Guid)
Declaration
public static byte[] ToNetworkByteOrder(this Guid guid)
Parameters
Type |
Name |
Description |
System.Guid |
guid |
|
Returns
Type |
Description |
System.Byte[] |
|
UnpackISO3CodeFromInt(Int32)
Unpacks an ISO code from int which was packed with PackISO3CodeToInt
Declaration
public static string UnpackISO3CodeFromInt(int iso)
Parameters
Type |
Name |
Description |
System.Int32 |
iso |
|
Returns
Type |
Description |
System.String |
|
WriteBEInt32(Byte[], Int32)
Writes an integer encoded as big endian to buffer at index 0
Declaration
public static void WriteBEInt32(this byte[] buf, int value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
value |
|
WriteBEInt32(Byte[], Int32, Int32)
Writes an integer encoded as big endian to buffer at the specified index
Declaration
public static void WriteBEInt32(this byte[] buf, int idx, int value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.Int32 |
value |
|
WriteBEInt32(Stream, Int32)
Writes an integer encoded as big endian to the given stream
Declaration
public static void WriteBEInt32(this Stream s, int value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.Int32 |
value |
|
WriteBEShort(Byte[], Int32, Int16)
Writes a short encoded as big endian to buffer at the specified index
Declaration
public static void WriteBEShort(this byte[] buf, int idx, short value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.Int16 |
value |
|
WriteBEShort(Stream, Int16)
Writes a short encoded as big endian to the given stream
Declaration
public static void WriteBEShort(this Stream s, short value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.Int16 |
value |
|
WriteBEUInt32(Byte[], Int32, UInt32)
Writes an unsigned integer encoded as big endian to buffer at the specified index
Declaration
public static void WriteBEUInt32(this byte[] buf, int idx, uint value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.UInt32 |
value |
|
WriteBEUInt32(Byte[], UInt32)
Writes an unsigned integer encoded as big endian to buffer at index 0
Declaration
public static void WriteBEUInt32(this byte[] buf, uint value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.UInt32 |
value |
|
WriteBEUInt64(Byte[], Int32, UInt64)
Writes an unsigned long integer encoded as big endian to buffer at the specified index
Declaration
public static void WriteBEUInt64(this byte[] buf, int idx, ulong value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.UInt64 |
value |
|
WriteBEUInt64(Byte[], UInt64)
Writes an unsigned long integer encoded as big endian to buffer at the beginning
Declaration
public static void WriteBEUInt64(this byte[] buf, ulong value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.UInt64 |
value |
|
WriteBEUInt64(Stream, UInt64)
Writes an unsigned long integer encoded as big endian to the given stream
Declaration
public static void WriteBEUInt64(this Stream s, ulong value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.UInt64 |
value |
|
WriteBEUShort(Stream, UInt16)
Writes an ushort encoded as big endian to the given stream
Declaration
public static void WriteBEUShort(this Stream s, ushort value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.UInt16 |
value |
|
WriteLEInt32(Byte[], Int32)
Writes an integer encoded as little endian to buffer at index 0
Declaration
public static void WriteLEInt32(this byte[] buf, int value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
value |
|
WriteLEInt32(Byte[], Int32, Int32)
Writes an integer encoded as little endian to buffer at the specified index
Declaration
public static void WriteLEInt32(this byte[] buf, int idx, int value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.Int32 |
value |
|
WriteLEInt32(Stream, Int32)
Writes an integer encoded as little endian to the given stream
Declaration
public static void WriteLEInt32(this Stream s, int value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.Int32 |
value |
|
WriteLEShort(Byte[], Int32, Int16)
Writes a short encoded as little endian to buffer at the specified index
Declaration
public static void WriteLEShort(this byte[] buf, int idx, short value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.Int16 |
value |
|
WriteLEShort(Stream, Int16)
Writes a short encoded as little endian to the given stream
Declaration
public static void WriteLEShort(this Stream s, short value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.Int16 |
value |
|
WriteLEUInt32(Byte[], Int32, UInt32)
Writes an unsigned integer encoded as little endian to buffer at the specified index
Declaration
public static void WriteLEUInt32(this byte[] buf, int idx, uint value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.UInt32 |
value |
|
WriteLEUInt32(Byte[], UInt32)
Writes an unsigned integer encoded as little endian to buffer at index 0
Declaration
public static void WriteLEUInt32(this byte[] buf, uint value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.UInt32 |
value |
|
WriteLEUInt64(Byte[], Int32, UInt64)
Writes an unsigned long integer encoded as little endian to buffer at the specified index
Declaration
public static void WriteLEUInt64(this byte[] buf, int idx, ulong value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.Int32 |
idx |
|
System.UInt64 |
value |
|
WriteLEUInt64(Byte[], UInt64)
Writes an unsigned long integer encoded as little endian to buffer at the beginning
Declaration
public static void WriteLEUInt64(this byte[] buf, ulong value)
Parameters
Type |
Name |
Description |
System.Byte[] |
buf |
|
System.UInt64 |
value |
|
WriteLEUInt64(Stream, UInt64)
Writes an unsigned long integer encoded as little endian to the given stream
Declaration
public static void WriteLEUInt64(this Stream s, ulong value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.UInt64 |
value |
|
WriteLEUShort(Stream, UInt16)
Writes an ushort encoded as little endian to the given stream
Declaration
public static void WriteLEUShort(this Stream s, ushort value)
Parameters
Type |
Name |
Description |
System.IO.Stream |
s |
|
System.UInt16 |
value |
|