<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Rebex.Net.ProxySocket</name>
    </assembly>
    <members>
        <member name="T:Rebex.Net.Messages">
            <summary>
            Provides methods for constructing exception messages.
            </summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.UnmanagedBlockLite">
            <summary>
            Represents a block of unmanaged memory.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.#ctor(System.Int32)">
            <summary>
            Allocates a block of unmanaged memory with the specified length.
            </summary>
            <param name="length">The length of unmanaged memory block.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.#ctor(System.IntPtr)">
            <summary>
            Creates an unmanaged block that represents a block of memory specified by the supplied pointer.
            </summary>
            <param name="ptr">Pointer to a block of unmanaged memory.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.ToIntPtr">
            <summary>
            Returns a pointer to the current unmanaged memory block.
            </summary>
            <returns>A pointer to unamanged memory block.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.ReadInt32(System.Int32)">
            <summary>
            Reads a 32-bit signed integer from the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.WriteInt32(System.Int32,System.Int32)">
            <summary>
            Writes a 32-bit signed integer to the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.WriteIntPtr(System.Int32,System.IntPtr)">
            <summary>
            Writes a pointer to the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.Dispose">
            <summary>
            Disposes the object and releases resources.
            </summary>
            <remarks>
            Calling this method ensures that all resources are freed.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
            <param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.UnmanagedBlockLite.Finalize">
            <summary>
            Finalizer called by garbage collector.
            </summary>
        </member>
        <member name="T:Rebex.Net.Proxy">
            <summary>
            Contains proxy settings for a socket connection.
            </summary>
        </member>
        <member name="M:Rebex.Net.Proxy.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.Proxy"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.Proxy.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Net.Proxy"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.Proxy.Clone">
            <summary>
            Creates a copy of the <see cref="T:Rebex.Net.Proxy"/> instance.
            </summary>
            <returns>A new <see cref="T:Rebex.Net.Proxy"/> instance.</returns>
        </member>
        <member name="M:Rebex.Net.Proxy.GetProxy(System.Uri)">
            <summary>
            Returns the proxied URI for a destination.
            </summary>
            <param name="destination">The <see cref="T:System.Uri"/> of the requested FTP server.</param>
            <returns>The <see cref="T:System.Uri"/> of the FTP server if the resource is on the bypass list; otherwise, the <see cref="T:System.Uri"/> of the proxy.</returns>
        </member>
        <member name="M:Rebex.Net.Proxy.IsBypassed(System.Uri)">
            <summary>
            Indicates whether to use the proxy server for the specified host.
            </summary>
            <param name="host">The <see cref="T:System.Uri"/> of the host to check for proxy use.</param>
            <returns><b>true</b> if the proxy server should not be used for <i>host</i>; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:Rebex.Net.Proxy.IsBypassed(System.String,System.Int32)">
            <summary>
            Indicates whether to use the proxy server for the specified host.
            </summary>
            <param name="hostName">The host address to check for proxy use.</param>
            <param name="port">The port port.</param>
            <returns><b>true</b> if the proxy server should not be used for <i>host</i>; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:Rebex.Net.Proxy.#ctor">
            <summary>
            Initializes an empty instance of the <see cref="T:System.Net.WebProxy"/> class.
            </summary>
            <remarks>
            The default constructor initializes an empty instance of the <see cref="T:Rebex.Net.Proxy"/>
            class with the <see cref="P:Rebex.Net.Proxy.ProxyType"/> property set to <see cref="P:Rebex.Net.Proxy.ProxyType">ProxyType.None</see>.
            When the <see cref="P:Rebex.Net.Proxy.ProxyType"/> is set to <see cref="P:Rebex.Net.Proxy.ProxyType">ProxyType.None</see>, the <see cref="M:Rebex.Net.Proxy.IsBypassed(System.Uri)"/> method
            returns <b>true</b>, and the <see cref="M:Rebex.Net.Proxy.GetProxy(System.Uri)"/> method returns the destination address.
            </remarks>
        </member>
        <member name="M:Rebex.Net.Proxy.#ctor(Rebex.Net.ProxyType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.Proxy"/> class with the specified type, hostname, and port.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
        </member>
        <member name="M:Rebex.Net.Proxy.#ctor(Rebex.Net.ProxyType,System.String,System.Int32,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.Proxy"/> class with the specified type, hostname, port, and username.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="username">A user name to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.Proxy.#ctor(Rebex.Net.ProxyType,Rebex.Net.ProxyAuthentication,System.String,System.Int32,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.Proxy"/> 
            class with the specified type, hostname, port, and credentials
            with base authentification.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="authenticationMethod">Authentication method.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="credentials">A <see cref="T:System.Net.NetworkCredential"/> to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.Proxy.#ctor(Rebex.Net.ProxyType,Rebex.Net.ProxyAuthentication,System.String,System.Int32,System.Boolean,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.Proxy"/> 
            class with the specified type, hostname, port, bypass setting, list of URIs to bypass, and credentials,
            with base authentification.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="authenticationMethod">Authentication method.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="bypassOnLocal"><b>true</b> to bypass the proxy for local addresses; otherwise, <b>false</b>.</param>
            <param name="credentials">A <see cref="T:System.Net.NetworkCredential"/> to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.Proxy.#ctor(Rebex.Net.ProxyType,Rebex.Net.ProxyAuthentication,System.String,System.Int32,System.Boolean,System.String[],System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.Proxy"/> class with the specified type, hostname, port, bypass setting, list of URIs to bypass, and credentials.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="authenticationMethod">Authentication method.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="bypassOnLocal"><b>true</b> to bypass the proxy for local addresses; otherwise, <b>false</b>.</param>
            <param name="bypassList">An array of regular expression strings containing the URIs of the servers to bypass.</param>
            <param name="credentials">A <see cref="T:System.Net.NetworkCredential"/> to submit to the proxy server for authentication.</param>
            <remarks>Not supported by Rebex FTP for .NET Compact Framework.</remarks>
        </member>
        <member name="P:Rebex.Net.Proxy.Host">
            <summary>
            Gets or sets the hostname of the proxy server.
            </summary>
            <value>The hostname of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.Port">
            <summary>
            Gets or sets the port of the proxy server.
            </summary>
            <value>The port of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.ProxyType">
            <summary>
            Gets or sets the type of the proxy server.
            </summary>
            <value>The type of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.AuthenticationMethod">
            <summary>
            Gets or sets the authentication method to use for HTTP CONNECT proxy.
            </summary>
            <value>An authentication method.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.Credentials">
            <summary>
            Gets or sets the credentials to submit to the proxy server for authentication.
            </summary>
            <value>An <see cref="T:System.Net.ICredentials"/> containing the credentials to submit to the proxy server for authentication.</value>
            <remarks>Only credentials of type <see cref="T:System.Net.NetworkCredential"/> are supported.</remarks>
        </member>
        <member name="P:Rebex.Net.Proxy.UserName">
            <summary>
            Gets or sets the username to submit to the proxy server for authentication.
            </summary>
            <value>A username to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.Password">
            <summary>
            Gets or sets the username to submit to the proxy server for authentication.
            </summary>
            <value>A username to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.Domain">
            <summary>
            Gets or sets the domain to submit to the proxy server for authentication.
            </summary>
            <value>A domain to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.BypassProxyOnLocal">
            <summary>
            Gets or sets a value indicating whether to bypass the proxy server for local addresses.
            </summary>
            <value><b>true</b> to bypass the proxy server for local addresses; otherwise, <b>false</b>. The default value is <b>false</b>.</value>
        </member>
        <member name="P:Rebex.Net.Proxy.BypassArrayList">
            <summary>
            Gets a list of addresses that do not use the proxy server.
            </summary>
            <value>An <see cref="T:System.Collections.ArrayList"/> containing a list of regular expressions that describe URIs that will not use the proxy server when accessed.</value>
            <remarks>Not supported by Rebex FTP for .NET Compact Framework.</remarks>
        </member>
        <member name="P:Rebex.Net.Proxy.BypassList">
            <summary>
            Gets or sets an array of addresses that do not use the proxy server.
            </summary>
            <value>An array containing a list of regular expressions that describe URIs that will not use the proxy server when accessed.</value>
            <remarks>Not supported by Rebex FTP for .NET Compact Framework.</remarks>
        </member>
        <member name="T:Rebex.Net.ProxyBase">
            <summary>
            Base class for proxied sockets.
            </summary>
        </member>
        <member name="T:Rebex.Net.ProxyHttpConnect">
            <summary>
            Implements socket connections through HTTP CONNECT method.
            </summary>
        </member>
        <member name="T:Rebex.Net.ProxyAuthentication">
            <summary>
            HTTP CONNECT proxy server authentication method.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxyAuthentication.Basic">
            <summary>
            Basic authentication.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxyAuthentication.Ntlm">
            <summary>
            NTLM authentication.
            </summary>
        </member>
        <member name="T:Rebex.Net.ProxyType">
            <summary>
            Type of proxy to use to connect to the remote machine.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxyType.None">
            <summary>No proxy. Direct connection.</summary>
        </member>
        <member name="F:Rebex.Net.ProxyType.Socks4">
            <summary>Connection through Socks4 proxy.</summary>
        </member>
        <member name="F:Rebex.Net.ProxyType.Socks4a">
            <summary>Connection through Socks4A proxy (capable of resolving domain names).</summary>
        </member>
        <member name="F:Rebex.Net.ProxyType.Socks5">
            <summary>Connection through Socks5 proxy.</summary>
        </member>
        <member name="F:Rebex.Net.ProxyType.HttpConnect">
            <summary>Connection through HTTP proxy using the CONNECT method.</summary>
        </member>
        <member name="T:Rebex.Net.ProxySocketExceptionStatus">
            <summary>
            Defines status codes for the <see cref="T:Rebex.Net.ProxySocketException"/> class.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.ConnectFailure">
            <summary>
            The remote service point could not be contacted at the transport level.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.ConnectionClosed">
            <summary>
            The connection was prematurely closed
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.SocketError">
            <summary>
            The error at transport level occured.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.NameResolutionFailure">
            <summary>
            The name resolver service could not resolve the host name.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.ProtocolError">
            <summary>
            The response received from the server was complete but indicated a protocol-level error. For example, an FTP protocol error such as 550 Access Denied would use this status.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.ProxyNameResolutionFailure">
            <summary>
            The name resolver service could not resolve the proxy host name.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.ReceiveFailure">
            <summary>
            A complete response was not received from the remote server.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.UnclassifiableError">
            <summary>
            An unclassifiable error occurred. This is the default value for <see cref="P:Rebex.Net.ProxySocketException.Status"/>.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.ServerProtocolViolation">
            <summary>
            The server response was not a valid response.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.AsyncError">
            <summary>
            General exception in asynchronous call.
            </summary>
        </member>
        <member name="F:Rebex.Net.ProxySocketExceptionStatus.NotConnected">
            <summary>
            The socket is not connected.
            </summary>
        </member>
        <member name="T:Rebex.Net.ProxySocketException">
            <summary>
            The exception that is thrown when a proxy error or socket error occurs.
            </summary>
        </member>
        <member name="M:Rebex.Net.ProxySocketException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocketException"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocketException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Net.ProxySocketException"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocketException.#ctor(System.String,Rebex.Net.ProxySocketExceptionStatus)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocketException"/> class with the specified error message and status.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="status">One of the <see cref="T:Rebex.Net.ProxySocketExceptionStatus"/> values.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocketException.#ctor(System.String,Rebex.Net.ProxySocketExceptionStatus,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocketException"/> class with the specified error message, status,
            and a reference to the inner exception that is the cause of this exception.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="status">One of the <see cref="T:Rebex.Net.ProxySocketExceptionStatus"/> values.</param>
            <param name="innerException">The exception that is the cause of the current exception. If the <i>innerException</i> parameter is not a null reference, the current exception is raised in a <b>catch</b> block that handles the inner exception.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocketException.#ctor(System.Net.Sockets.SocketException)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocketException"/> class with the reference to the socket exception that is the cause of this exception.
            </summary>
            <param name="e">The socket exception that is the cause of the current exception.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocketException.GetSocketExceptionMessage(System.Net.Sockets.SocketException)">
            <summary>
            Returns an exception message for the supplied SocketException.
            </summary>
            <param name="error">Socket exception.</param>
            <returns>Exception message.</returns>
        </member>
        <member name="P:Rebex.Net.ProxySocketException.Status">
            <summary>
            Gets the status of the error.
            </summary>
            <value>One of the <see cref="T:Rebex.Net.ProxySocketExceptionStatus"/> values.</value> 
        </member>
        <member name="P:Rebex.Net.ProxySocketException.ErrorCode">
            <summary>
            Gets the error code associated with this exception if the error status is <see cref="T:Rebex.Net.ProxySocketExceptionStatus">SocketError</see>. Returns 0 otherwise.
            </summary>
            <value>An integer error code associated with this exception (or 0).</value>
        </member>
        <member name="T:Rebex.Net.PortRange">
            <summary>
            Represents a TCP/IP port range.
            </summary>
        </member>
        <member name="F:Rebex.Net.PortRange.Any">
            <summary>
            Specifies a port range that makes the OS assign an available port number. 
            </summary>
        </member>
        <member name="M:Rebex.Net.PortRange.#ctor(System.Int32)">
            <summary>
            Creates a port range that includes a single port.
            </summary>
            <param name="port"></param>
        </member>
        <member name="M:Rebex.Net.PortRange.ToString">
            <summary>
            Returns the string representation of the port range.
            </summary>
            <returns>Port range.</returns>
        </member>
        <member name="M:Rebex.Net.PortRange.#ctor(System.Int32,System.Int32)">
            <summary>
            Creates a port range that includes a single port.
            </summary>
        </member>
        <member name="T:Rebex.Net.ProxySocket">
            <summary>
            Implements the subset of the Berkeley sockets interface (or the <see cref="T:System.Net.Sockets.Socket"/> class)
            and adds the ability to connect through Socks4/Socks5 or HTTP proxies.
            </summary>
            <remarks>
            <p>
            This class is suitable for extending your client applications with the ability
            to connect through proxies.
            </p>
            <p>
            This class is limited to operations supported by proxies - it is not a
            replacementfor the <see cref="T:System.Net.Sockets.Socket"/>. This means
            it is perfect for writing clients, but useless for writing servers.
            </p>
            <p>
            Only connection-oriented protocols are supported at the moment
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.#ctor">
            <summary>
            Initializes an empty instance of the <see cref="T:Rebex.Net.ProxySocket"/> class.
            </summary>
            <remarks>
            The default constructor initializes an instance of the <see cref="T:Rebex.Net.ProxySocket"/>
            class with the <see cref="P:Rebex.Net.ProxySocket.ProxyType"/> property set to <see cref="P:Rebex.Net.ProxySocket.ProxyType">ProxyType.None</see>.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.#ctor(Rebex.Net.ProxyType,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocket"/> class with the specified proxy type, hostname, and port.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocket.#ctor(Rebex.Net.ProxyType,System.String,System.Int32,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocket"/> class with the specified type, hostname, port, and username.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="userName">A user name to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocket.#ctor(Rebex.Net.Proxy)">
            <summary>
            Initializes a new instance of <see cref="T:Rebex.Net.ProxySocket"/> class with parameters provided in the supplied <see cref="T:Rebex.Net.Proxy"/> object.
            </summary>
            <param name="proxy">Contains parameters used to initialize this <see cref="T:Rebex.Net.ProxySocket"/>.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocket.#ctor(Rebex.Net.ProxyType,System.String,System.Int32,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocket"/> class with the specified type, hostname, port, and credentials.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="userName">A user name to submit to the proxy server for authentication.</param>
            <param name="password">A password to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocket.#ctor(Rebex.Net.ProxyType,Rebex.Net.ProxyAuthentication,System.String,System.Int32,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Net.ProxySocket"/> class with the specified type, authentication method, hostname, port, and credentials.
            </summary>
            <param name="proxyType">The type of the proxy.</param>
            <param name="authenticationMethod">Authentication method.</param>
            <param name="host">The hostname of the proxy server.</param>
            <param name="port">The port of the proxy server.</param>
            <param name="userName">A user name to submit to the proxy server for authentication.</param>
            <param name="password">A password to submit to the proxy server for authentication.</param>
            <param name="domain">A domain to submit to the proxy server for authentication.</param>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Send(System.Byte[])">
            <summary>
            Sends data to a connected <see cref="T:Rebex.Net.ProxySocket"/>.
            </summary>
            <param name="buffer">The data to be sent.</param>
            <returns>The number of bytes sent.</returns>
            <remarks>
            Prior to sending data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Send(System.Byte[],System.Net.Sockets.SocketFlags)">
            <summary>
            Sends data to a connected <see cref="T:Rebex.Net.ProxySocket"/> using the supplied flags.
            </summary>
            <param name="buffer">The data to be sent.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <returns>The number of bytes sent.</returns>
            <remarks>
            Prior to sending data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Sends the specified amount of data to a connected <see cref="T:Rebex.Net.ProxySocket"/> using the supplied flags.
            </summary>
            <param name="buffer">The data to be sent.</param>
            <param name="size">The number of bytes to send.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <returns>The number of bytes sent.</returns>
            <remarks>
            Prior to sending data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Send(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Sends the specified amount of data to a connected <see cref="T:Rebex.Net.ProxySocket"/> starting at the indicated location in the data and using the supplied flags.
            </summary>
            <param name="buffer">The data to be sent.</param>
            <param name="offset">The position in the data buffer to begin sending data.</param>
            <param name="size">The number of bytes to send.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <returns>The number of bytes sent.</returns>
            <remarks>
            Prior to sending data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)">
            <summary>
            Sends data asynchronously to a connected <see cref="T:Rebex.Net.ProxySocket"/>.
            </summary>
            <param name="buffer">The data to be sent.</param>
            <param name="offset">The position in the data buffer to begin sending data.</param>
            <param name="size">The number of bytes to send.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <param name="callback">The <see cref="T:System.AsyncCallback"/> delegate.</param>
            <param name="state">An object containing state information for this request.</param>
            <returns>
            An <see cref="T:System.IAsyncResult"/> that references the asynchronous send.
            </returns>
            <remarks>
            <p>
            Prior to sending data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </p>
            <p>
            The BeginSend method starts asynchronously sending data through a ProxySocket.
            You should create a callback method that implements the AsyncCallback delegate.
            This callback method should use the EndSend method to complete the asynchronous operation.
            See the .NET Framework SDK Reference for more information on asynchronous methods.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Receive(System.Byte[])">
            <summary>
            Receives data from a connected <see cref="T:Rebex.Net.ProxySocket"/>.
            </summary>
            <param name="buffer">The storage location for the received data.</param>
            <returns>The number of bytes received.</returns>
            <remarks>
            Prior to receiving data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Receive(System.Byte[],System.Net.Sockets.SocketFlags)">
            <summary>
            Receives data from a connected <see cref="T:Rebex.Net.ProxySocket"/> using the supplied flags.
            </summary>
            <param name="buffer">The storage location for the received data.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <returns>The number of bytes received.</returns>
            <remarks>
            Prior to receiving data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Receives the specified amount of data from a connected <see cref="T:Rebex.Net.ProxySocket"/> using the supplied flags.
            </summary>
            <param name="buffer">The storage location for the received data.</param>
            <param name="size">The number of bytes to receive.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <returns>The number of bytes received.</returns>
            <remarks>
            Prior to receiving data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Receive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags)">
            <summary>
            Receives the specified amount of data from a connected <see cref="T:Rebex.Net.ProxySocket"/> into a specific location of the receive buffer and using the supplied flags.
            </summary>
            <param name="buffer">The storage location for the received data.</param>
            <param name="offset">The position in the buffer at which to store the received data.</param>
            <param name="size">The number of bytes to receive.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <returns>The number of bytes received.</returns>
            <remarks>
            Prior to receiving data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)">
            <summary>
            Begins to asynchronously receive data from a connected <see cref="T:Rebex.Net.ProxySocket"/>.
            </summary>
            <param name="buffer">The storage location for the received data.</param>
            <param name="offset">The position in the buffer at which to store the received data.</param>
            <param name="size">The number of bytes to receive.</param>
            <param name="socketFlags">A bitwise combination of the <see cref="T:System.Net.Sockets.SocketFlags"/> values.</param>
            <param name="callback">The <see cref="T:System.AsyncCallback"/> delegate.</param>
            <param name="state">An object containing state information for this request.</param>
            <returns>
            An <see cref="T:System.IAsyncResult"/> that references the asynchronous read.
            </returns>
            <remarks>
            <p>
            Prior to receiving data, the socket must be connected using either a call to <see cref="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)"/> method or a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> and <see cref="M:Rebex.Net.ProxySocket.Accept"/> methods.
            </p>
            <p>
            The BeginReceive method starts asynchronously reading data from a ProxySocket.
            You should create a callback method that implements the AsyncCallback delegate.
            This callback method should use the EndSend method to complete the asynchronous operation.
            See the .NET Framework SDK Reference for more information on asynchronous methods.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.EndSend(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous send.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user-defined data.</param>
            <returns>The number of bytes sent.</returns>
            <remarks>
            The EndSend method completes a request to accept a connection that was started with the <see cref="M:Rebex.Net.ProxySocket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.EndReceive(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous read.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user-defined data.</param>
            <returns>The number of bytes received.</returns>
            <remarks>
            The EndReceive method completes a request to accept a connection that was started with the <see cref="M:Rebex.Net.ProxySocket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Close">
            <summary>
            Forces a <see cref="T:Rebex.Net.ProxySocket"/> connection to close.
            </summary>
            <remarks>
            <p>
            The application should call <see cref="M:Rebex.Net.ProxySocket.Shutdown(System.Net.Sockets.SocketShutdown)"/> before calling Close to ensure that
            all pending data is sent or received before the Socket is closed.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Shutdown(System.Net.Sockets.SocketShutdown)">
            <summary>
            Disables sends and receives on a <see cref="T:Rebex.Net.ProxySocket"/>.
            </summary>
            <param name="how">The <see cref="T:System.Net.Sockets.SocketShutdown"/> value specifying the operation that will no longer be allowed.</param>
            <remarks>
            See the reference for <see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)"/> for details.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.ToEndPoint(System.String,System.Int32)">
            <summary>
            Converts the host address and port into an IP endpoint. If host is not IP address, returns null.
            </summary>
            <param name="host">Host IP address.</param>
            <param name="port">Host port.</param>
            <returns>IP endpoint.</returns>
        </member>
        <member name="M:Rebex.Net.ProxySocket.GetAddressLong(System.Net.IPAddress)">
            <summary>
            Returns the long value of the IP address of the instance of IPAddress.
            </summary>
            <param name="address">An instance of IPAddress.</param>
            <returns>The long value of the IP address.</returns>
        </member>
        <member name="M:Rebex.Net.ProxySocket.GetAddressBytes(System.Net.IPAddress)">
            <summary>
            Returns an array of bytes of the IP address of the instance of IPAddress.
            </summary>
            <param name="address">An instance of IPAddress.</param>
            <returns>An array of address bytes.</returns>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)">
            <summary>
            Starts a request to listen for an incoming connection using the specified control socket as a base.
            </summary>
            <param name="controlSocket">The control socket to use as a base.</param>
            <returns>The endpoint to which a connection from a remote host can be made.</returns>
            <remarks>
            <p>
            This method differs from <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/>:
            <ul>
            <li>A control connection socket needs to be specified. This is used by a proxy server
            to decide whether the request for Listen is appropriate.</li>
            <li>Only a single incoming connection is accepted by a proxy server.</li>
            </ul>
            To accept an incoming connection, use the <see cref="M:Rebex.Net.ProxySocket.Accept"/> or <see cref="M:Rebex.Net.ProxySocket.BeginAccept(System.AsyncCallback,System.Object)"/> method of the same instance.
            </p>
            <p>
            <b>Note:</b> When not connected through a proxy server, the controlSocket parameter
            is ignored.
            </p>
            <p>
            <b>Note:</b> When connected through a HTTP proxy server, this method will fail.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Connect(System.String,System.Int32)">
            <summary>
            Establishes a connection to a remote device.
            </summary>
            <param name="serverName">The hostname (or IP address) of the remote device.</param>
            <param name="serverPort">The port number associated with the hostname.</param>
            <remarks>
            The Connect method establishes a network connection to a device identified by the remoteEP
            parameter. Once the connection has been made, you can send data to the remote device with
            the Send method, or receive data from the remote device with the Receive method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Connect(System.Net.IPEndPoint)">
            <summary>
            Establishes a connection to a remote device.
            </summary>
            <param name="remoteEP">An <see cref="T:System.Net.IPEndPoint"/> that represents the remote device.</param>
            <remarks>
            The Connect method establishes a network connection to a device identified by the remoteEP
            parameter. Once the connection has been made, you can send data to the remote device with
            the Send method, or receive data from the remote device with the Receive method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.Accept">
            <summary>
            Acepts an incoming connection.
            </summary>
            <remarks>
            <p>
            A call to Accept is only allowed after a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> or <see cref="M:Rebex.Net.ProxySocket.BeginListen(Rebex.Net.ProxySocket,System.AsyncCallback,System.Object)"/> methods of the same instance.
            </p>
            <p>
            This method differs to a great extent from <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/>.
            It does not return a new instance of the <see cref="T:Rebex.Net.ProxySocket"/> class. Instead, the
            current instance is used to handle the incoming connection.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.BeginListen(Rebex.Net.ProxySocket,System.AsyncCallback,System.Object)">
            <summary>
            Starts an asynchronously request to listen for an incoming connection using the specified control socket as a base.
            </summary>
            <param name="controlSocket">The control socket to use as a base.</param>
            <param name="callback">The <see cref="T:System.AsyncCallback"/> delegate.</param>
            <param name="state">An object containing state information for this request.</param>
            <returns>
            An <see cref="T:System.IAsyncResult"/> that references the asynchronous request.
            </returns>
            <remarks>
            <p>
            This method differs from <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/>:
            <ul>
            <li>A control connection socket needs to be specified. This is used by a proxy server
            to decide whether the request for Listen is appropriate.</li>
            <li>Only a single incoming connection is accepted by a proxy server.</li>
            </ul>
            To accept an incoming connection, use the <see cref="M:Rebex.Net.ProxySocket.Accept"/> or <see cref="M:Rebex.Net.ProxySocket.BeginAccept(System.AsyncCallback,System.Object)"/> method of the same instance.
            </p>
            <p>
            <b>Note:</b> When connected through a HTTP proxy server, this method will fail.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.BeginAccept(System.AsyncCallback,System.Object)">
            <summary>
            Begins an asynchronous request to accept an incoming connection.
            </summary>
            <param name="callback">The <see cref="T:System.AsyncCallback"/> delegate.</param>
            <param name="state">An object containing state information for this request.</param>
            <returns>
            An <see cref="T:System.IAsyncResult"/> that references the asynchronous request.
            </returns>
            <remarks>
            <p>
            A call to Accept is only allowed after a call to <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/> or <see cref="M:Rebex.Net.ProxySocket.BeginListen(Rebex.Net.ProxySocket,System.AsyncCallback,System.Object)"/> methods of the same instance.
            </p>
            <p>
            This method differs to a great extent from <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/>.
            It does not return a new instance of the <see cref="T:Rebex.Net.ProxySocket"/> class. Instead, the
            current instance is used to handle the incoming connection.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.BeginConnect(System.String,System.Int32,System.AsyncCallback,System.Object)">
            <summary>
            Begins an asynchronous request for a connection to a network device.
            </summary>
            <param name="serverName">The hostname (or IP address) of the remote device.</param>
            <param name="serverPort">The port number associated with the hostname.</param>
            <param name="callback">The <see cref="T:System.AsyncCallback"/> delegate.</param>
            <param name="state">An object containing state information for this request.</param>
            <returns>
            An <see cref="T:System.IAsyncResult"/> that references the asynchronous connection.
            </returns>
            <remarks>
            The Connect method establishes a network connection to a device identified by the remoteEP
            parameter. Once the connection has been made, you can send data to the remote device with
            the Send method, or receive data from the remote device with the Receive method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.BeginConnect(System.Net.IPEndPoint,System.AsyncCallback,System.Object)">
            <summary>
            Begins an asynchronous request for a connection to a network device.
            </summary>
            <param name="remoteEP">An <see cref="T:System.Net.IPEndPoint"/> that represents the remote device.</param>
            <param name="callback">The <see cref="T:System.AsyncCallback"/> delegate.</param>
            <param name="state">An object containing state information for this request.</param>
            <returns>
            An <see cref="T:System.IAsyncResult"/> that references the asynchronous connection.
            </returns>
            <remarks>
            The Connect method establishes a network connection to a device identified by the remoteEP
            parameter. Once the connection has been made, you can send data to the remote device with
            the Send method, or receive data from the remote device with the Receive method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.EndConnect(System.IAsyncResult)">
            <summary>
            Ends a pending asynchronous connection request.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user-defined data.</param>
            <remarks>
            The EndConnect method completes a request to accept a connection that was started with the <see cref="M:Rebex.Net.ProxySocket.BeginConnect(System.Net.IPEndPoint,System.AsyncCallback,System.Object)"/> method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.EndAccept(System.IAsyncResult)">
            <summary>
            Ends an asynchronous request to accept an incoming connection.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <remarks>
            The EndAccept method completes a request to accept a connection that was started with the <see cref="M:Rebex.Net.ProxySocket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
            </remarks>
        </member>
        <member name="M:Rebex.Net.ProxySocket.EndListen(System.IAsyncResult)">
            <summary>
            Ends an asynchronous request to listen for an incoming connection.
            </summary>
            <param name="asyncResult">Stores state information for this asynchronous operation as well as any user defined data.</param>
            <returns>The endpoint to which a connection from a remote host can be made.</returns>
            <remarks>
            The EndListen method completes a request to listen for a connection that was started with the <see cref="M:Rebex.Net.ProxySocket.BeginListen(Rebex.Net.ProxySocket,System.AsyncCallback,System.Object)"/> method.
            </remarks>
        </member>
        <member name="P:Rebex.Net.ProxySocket.ProxyHost">
            <summary>
            Gets or sets the hostname of the proxy server.
            </summary>
            <value>The hostname of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.ProxyPort">
            <summary>
            Gets or sets the port of the proxy server.
            </summary>
            <value>The port of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.LocalPortRange">
            <summary>
            Gets or sets the local TCP port range to which to bind the connections.
            </summary>
            <value>The port range.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.ProxyType">
            <summary>
            Gets or sets the type of the proxy server.
            </summary>
            <value>The type of the proxy server.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.AuthenticationMethod">
            <summary>
            Gets or sets the authentication method to use for HTTP CONNECT proxy.
            </summary>
            <value>An authentication method.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.UserName">
            <summary>
            Gets or sets the username to submit to the proxy server for authentication.
            </summary>
            <value>A username to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.Password">
            <summary>
            Gets or sets the username to submit to the proxy server for authentication.
            </summary>
            <value>A username to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.Domain">
            <summary>
            Gets or sets the domain to submit to the proxy server for authentication.
            </summary>
            <value>A domain to submit to the proxy server for authentication.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.Timeout">
            <summary>
            Gets or sets the length of time before the <see cref="M:Rebex.Net.ProxySocket.Connect(System.String,System.Int32)"/>, <see cref="M:Rebex.Net.ProxySocket.Listen(Rebex.Net.ProxySocket)"/>
            or <see cref="M:Rebex.Net.ProxySocket.Accept"/> operation times out.
            </summary>
            <value>
            The length of time, in milliseconds, until the operation times out,
            or the value -1 or 0 to indicate that the request does not time out.
            Default is -1.
            </value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.Socket">
            <summary>
            Gets the internal <see cref="T:System.Net.Sockets.Socket"/> value.
            </summary>
            <value>The internal <see cref="T:System.Net.Sockets.Socket"/> value.</value>
        </member>
        <member name="P:Rebex.Net.ProxySocket.RemoteEndPoint">
            <summary>
            Gets the remote endpoint.
            </summary>
            <value>The remote endpoint that the <see cref="T:Rebex.Net.ProxySocket"/> is using for communications.</value>
            <remarks>
            The RemoteEndPoint property gets the network connection information associated with
            either the remote host or the proxy server.
            RemoteEndPoint is set by <see cref="T:Rebex.Net.ProxySocket"/> methods that establish a connection
            to a remote host.
            </remarks>
        </member>
        <member name="P:Rebex.Net.ProxySocket.LocalEndPoint">
            <summary>
            Gets the local endpoint.
            </summary>
            <value>The local endpoint that the <see cref="T:Rebex.Net.ProxySocket"/> is using for communications.</value>
            <remarks>
            The LocalEndPoint property contains the network connection information associated with the local network device.
            </remarks>
        </member>
        <member name="P:Rebex.Net.ProxySocket.Connected">
            <summary>
            Gets a value indicating whether a <see cref="T:Rebex.Net.ProxySocket"/> is connected to a remote resource.
            </summary>
            <value>true if the <see cref="T:Rebex.Net.ProxySocket"/> is connected to a remote resource; otherwise, false.</value>
            <remarks>
            <p>
            Gets the connection state of the <see cref="T:Rebex.Net.ProxySocket"/>. This property will return
            the latest known state of the ProxySocket. When it returns false, the ProxySocket was either never
            connected, or no longer connected. When it returns true, the ProxySocket was connected at the
            time of the last I/O operation or the <see cref="P:Rebex.Net.ProxySocket.Available"/> property.
            </p>
            <p>
            <b>Note:</b> There is no guarantee that the Socket is still connected even though
            Connected returns true.
            </p>
            </remarks>
        </member>
        <member name="P:Rebex.Net.ProxySocket.Available">
            <summary>
            Gets the amount of data that has been received from the network and is available to be read.
            </summary>
            <value>
            The number of bytes of data that has been received from the network and are available
            to be read, or 0 if either no data is available or the <see cref="T:Rebex.Net.ProxySocket"/> is
            no longer connected.
            </value>
            <remarks>
            <p>
            The available data is generally the total amount of data queued on the
            current instance, or -1 if the socket was closed.
            </p>
            </remarks>
        </member>
        <member name="P:Rebex.Net.ProxySocket.Handle">
            <summary>
            Gets the operating system handle for the inner <see cref="T:System.Net.Sockets.Socket"/>.
            </summary>
            <value>An <see cref="T:System.IntPtr"/> representing the operating system handle for the <see cref="T:System.Net.Sockets.Socket"/>.</value>
        </member>
        <member name="T:Rebex.Net.ProxySocks4Base">
            <summary>
            Implements Socks4 and Socks4a protocols.
            </summary>
        </member>
        <member name="T:Rebex.Net.ProxySocks5">
            <summary>
            Implements Socks5 protocol.
            </summary>
        </member>
    </members>
</doc>
