<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SuperWebSocket</name>
    </assembly>
    <members>
        <member name="T:SuperWebSocket.Command.Binary`1">
            <summary>
            The command handling binary data
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.Binary`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.Binary`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Command.Close`1">
            <summary>
            The command handling close fragment
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.Close`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.Close`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Command.Continuation`1">
            <summary>
            The command handling continuation fragment
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.Continuation`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.Continuation`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Command.FragmentCommand`1">
            <summary>
            FragmentCommand
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.FragmentCommand`1.Utf8Encoding">
            <summary>
            Gets the UTF8 encoding which has been set ExceptionFallback.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.FragmentCommand`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.Command.FragmentCommand`1"/> class.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.FragmentCommand`1.CheckFrame(SuperWebSocket.Protocol.WebSocketDataFrame)">
            <summary>
            Checks the frame.
            </summary>
            <param name="frame">The frame.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Command.FragmentCommand`1.CheckControlFrame(SuperWebSocket.Protocol.WebSocketDataFrame)">
            <summary>
            Checks the control frame.
            </summary>
            <param name="frame">The frame.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Command.FragmentCommand`1.GetWebSocketData(System.Collections.Generic.IList{SuperWebSocket.Protocol.WebSocketDataFrame})">
            <summary>
            Gets data from websocket frames.
            </summary>
            <param name="frames">The frames.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Command.FragmentCommand`1.GetWebSocketText(System.Collections.Generic.IList{SuperWebSocket.Protocol.WebSocketDataFrame})">
            <summary>
            Gets text string from websocket frames.
            </summary>
            <param name="frames">The frames.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Command.FragmentCommand`1.GetWebSocketData(SuperWebSocket.Protocol.WebSocketDataFrame)">
            <summary>
            Gets data from a websocket frame.
            </summary>
            <param name="frame">The frame.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Command.FragmentCommand`1.GetWebSocketText(SuperWebSocket.Protocol.WebSocketDataFrame)">
            <summary>
            Gets text string from a websocket frame.
            </summary>
            <param name="frame">The frame.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.Command.HandShake`1">
            <summary>
            The command handle handshake request
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.HandShake`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.HandShake`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Command.Ping`1">
            <summary>
            The command handling Ping
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.Ping`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.Ping`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Command.Plain`1">
            <summary>
            The command to handling text message in plain text of hybi00
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.Plain`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.Plain`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Command.Pong`1">
            <summary>
            The command handling Pong
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.Pong`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.Pong`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Command.Text`1">
            <summary>
            The command handling Text fragment
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.Command.Text`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Command.Text`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.Config.CommandConfig">
            <summary>
            Command configuration
            </summary>
        </member>
        <member name="P:SuperWebSocket.Config.CommandConfig.Options">
            <summary>
            Gets the options.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Config.CommandConfig.OnDeserializeUnrecognizedAttribute(System.String,System.String)">
            <summary>
            Gets a value indicating whether an unknown attribute is encountered during deserialization.
            </summary>
            <param name="name">The name of the unrecognized attribute.</param>
            <param name="value">The value of the unrecognized attribute.</param>
            <returns>
            true when an unknown attribute is encountered while deserializing; otherwise, false.
            </returns>
        </member>
        <member name="T:SuperWebSocket.Config.CommandConfigCollection">
            <summary>
            Command configuration collection
            </summary>
        </member>
        <member name="P:SuperWebSocket.Config.CommandConfigCollection.Item(System.Int32)">
            <summary>
            Gets or sets a property, attribute, or child element of this configuration element.
            </summary>
            <returns>The specified property, attribute, or child element</returns>
        </member>
        <member name="M:SuperWebSocket.Config.CommandConfigCollection.CreateNewElement">
            <summary>
            When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement"/>.
            </summary>
            <returns>
            A new <see cref="T:System.Configuration.ConfigurationElement"/>.
            </returns>
        </member>
        <member name="M:SuperWebSocket.Config.CommandConfigCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <summary>
            Gets the element key for a specified configuration element when overridden in a derived class.
            </summary>
            <param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.</param>
            <returns>
            An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
            </returns>
        </member>
        <member name="M:SuperWebSocket.Config.CommandConfigCollection.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.Config.SubProtocolConfig">
            <summary>
            SubProtocol configuration
            </summary>
        </member>
        <member name="M:SuperWebSocket.Config.SubProtocolConfig.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.Config.SubProtocolConfig"/> class.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Config.SubProtocolConfig.Type">
            <summary>
            Gets the type.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Config.SubProtocolConfig.Commands">
            <summary>
            Gets the commands.
            </summary>
        </member>
        <member name="T:SuperWebSocket.Config.SubProtocolConfigCollection">
            <summary>
            SubProtocol configuation collection
            </summary>
        </member>
        <member name="M:SuperWebSocket.Config.SubProtocolConfigCollection.CreateNewElement">
            <summary>
            When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement"/>.
            </summary>
            <returns>
            A new <see cref="T:System.Configuration.ConfigurationElement"/>.
            </returns>
        </member>
        <member name="M:SuperWebSocket.Config.SubProtocolConfigCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <summary>
            Gets the element key for a specified configuration element when overridden in a derived class.
            </summary>
            <param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.</param>
            <returns>
            An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
            </returns>
        </member>
        <member name="M:SuperWebSocket.Config.SubProtocolConfigCollection.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns></returns>
        </member>
        <member name="P:SuperWebSocket.Config.SubProtocolConfigCollection.CollectionType">
            <summary>
            Gets the type of the <see cref="T:System.Configuration.ConfigurationElementCollection"/>.
            </summary>
            <returns>The <see cref="T:System.Configuration.ConfigurationElementCollectionType"/> of this collection.</returns>
        </member>
        <member name="P:SuperWebSocket.Config.SubProtocolConfigCollection.ElementName">
            <summary>
            Gets the name used to identify this collection of elements in the configuration file when overridden in a derived class.
            </summary>
            <returns>The name of the collection; otherwise, an empty string. The default is an empty string.</returns>
        </member>
        <member name="T:SuperWebSocket.Extensions">
            <summary>
            Extension class
            </summary>
        </member>
        <member name="M:SuperWebSocket.Extensions.AppendFormatWithCrCf(System.Text.StringBuilder,System.String,System.Object)">
            <summary>
            Appends in the format with CrCf as suffix.
            </summary>
            <param name="builder">The builder.</param>
            <param name="format">The format.</param>
            <param name="arg">The arg.</param>
        </member>
        <member name="M:SuperWebSocket.Extensions.AppendFormatWithCrCf(System.Text.StringBuilder,System.String,System.Object[])">
            <summary>
            Appends in the format with CrCf as suffix.
            </summary>
            <param name="builder">The builder.</param>
            <param name="format">The format.</param>
            <param name="args">The args.</param>
        </member>
        <member name="M:SuperWebSocket.Extensions.AppendWithCrCf(System.Text.StringBuilder,System.String)">
            <summary>
            Appends with CrCf as suffix.
            </summary>
            <param name="builder">The builder.</param>
            <param name="content">The content.</param>
        </member>
        <member name="M:SuperWebSocket.Extensions.AppendWithCrCf(System.Text.StringBuilder)">
            <summary>
            Appends with CrCf as suffix.
            </summary>
            <param name="builder">The builder.</param>
        </member>
        <member name="T:SuperWebSocket.IBinaryDataConverter">
            <summary>
            The converter interface for converting binary data to text message
            </summary>
        </member>
        <member name="M:SuperWebSocket.IBinaryDataConverter.ToString(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:SuperWebSocket.JsonWebSocketSession">
            <summary>
            Json websocket session
            </summary>
        </member>
        <member name="T:SuperWebSocket.JsonWebSocketSession`1">
            <summary>
            Json websocket session
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="M:SuperWebSocket.JsonWebSocketSession`1.SendJsonMessage(System.String,System.Object)">
            <summary>
            Sends the json message.
            </summary>
            <param name="name">The name.</param>
            <param name="content">The content.</param>
        </member>
        <member name="T:SuperWebSocket.Protocol.CloseStatusCodeHybi10">
            <summary>
            Close status code for Hybi10
            </summary>
        </member>
        <member name="M:SuperWebSocket.Protocol.CloseStatusCodeHybi10.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.Protocol.CloseStatusCodeHybi10"/> class.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.NormalClosure">
            <summary>
            Gets the code for normal closure.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.GoingAway">
            <summary>
            Gets the code for going away.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.ProtocolError">
            <summary>
            Gets the code for protocol error.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.NotAcceptableData">
            <summary>
            Gets the code for not acceptable data.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.TooLargeFrame">
            <summary>
            Gets the code for too large frame.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.InvalidUTF8">
            <summary>
            Gets the code for invalid UT f8.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.ViolatePolicy">
            <summary>
            Gets the code for violate policy.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.ExtensionNotMatch">
            <summary>
            Gets the code for extension not match.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.UnexpectedCondition">
            <summary>
            Gets the code for unexpected condition.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.TLSHandshakeFailure">
            <summary>
            Gets the code for TLS handshake failure.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeHybi10.NoStatusCode">
            <summary>
            Gets the code for no status code.
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.CloseStatusCodeRfc6455">
            <summary>
            Close status code for rfc6455
            </summary>
        </member>
        <member name="M:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.Protocol.CloseStatusCodeRfc6455"/> class.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.NormalClosure">
            <summary>
            Gets the code for normal closure.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.GoingAway">
            <summary>
            Gets the code for going away.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.ProtocolError">
            <summary>
            Gets the code for protocol error.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.NotAcceptableData">
            <summary>
            Gets the code for not acceptable data.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.TooLargeFrame">
            <summary>
            Gets the code for too large frame.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.InvalidUTF8">
            <summary>
            Gets the code for invalid UT f8.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.ViolatePolicy">
            <summary>
            Gets the code for violate policy.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.ExtensionNotMatch">
            <summary>
            Gets the code for extension not match.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.UnexpectedCondition">
            <summary>
            Gets the code for unexpected condition.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.TLSHandshakeFailure">
            <summary>
            Gets the code for TLS handshake failure.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.CloseStatusCodeRfc6455.NoStatusCode">
            <summary>
            Gets the code for no status code.
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.DraftHybi00Processor">
            <summary>
            http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-00
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.DraftHybi10Processor">
            <summary>
            http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.HandshakeRequest">
            <summary>
            Handshake request
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.HandshakeRequest.Key">
            <summary>
            Gets the key of this request.
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.ICloseStatusCode">
            <summary>
            Close status code interface
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.ExtensionNotMatch">
            <summary>
            Gets the code for extension not match.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.GoingAway">
            <summary>
            Gets the code for going away.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.InvalidUTF8">
            <summary>
            Gets the code for invalid UT f8.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.NormalClosure">
            <summary>
            Gets the code for normal closure.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.NotAcceptableData">
            <summary>
            Gets the code for not acceptable data.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.ProtocolError">
            <summary>
            Gets the code for protocol error.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.TLSHandshakeFailure">
            <summary>
            Gets the code for TLS handshake failure.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.TooLargeFrame">
            <summary>
            Gets the code for too large frame.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.UnexpectedCondition">
            <summary>
            Gets the code for unexpected condition.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.ViolatePolicy">
            <summary>
            Gets the code for violate policy.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.ICloseStatusCode.NoStatusCode">
            <summary>
            Gets the code for no status code.
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.IProtocolProcessor">
            <summary>
            Protocol processor interface
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.IProtocolProcessor.CanSendBinaryData">
            <summary>
            Gets a value indicating whether this instance can send binary data.
            </summary>
            <value>
            	<c>true</c> if this instance can send binary data; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:SuperWebSocket.Protocol.IProtocolProcessor.CloseStatusClode">
            <summary>
            Gets the close status clode.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.IProtocolProcessor.NextProcessor">
            <summary>
            Gets or sets the next processor.
            </summary>
            <value>
            The next processor.
            </value>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.Handshake(SuperWebSocket.IWebSocketSession,SuperWebSocket.Protocol.WebSocketReceiveFilterBase,SuperSocket.SocketBase.Protocol.IReceiveFilter{SuperWebSocket.Protocol.IWebSocketFragment}@)">
            <summary>
            Handshakes the specified session.
            </summary>
            <param name="session">The session.</param>
            <param name="previousFilter">The previous filter.</param>
            <param name="dataFrameReader">The data frame reader.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.GetEncodedPackage(System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Gets the encoded package.
            </summary>
            <param name="opCode">The op code.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.GetEncodedPackage(System.Int32,System.String)">
            <summary>
            Gets the encoded package.
            </summary>
            <param name="opCode">The op code.</param>
            <param name="message">The message.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.SendMessage(SuperWebSocket.IWebSocketSession,System.String)">
            <summary>
            Sends the message.
            </summary>
            <param name="session">The session.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.TrySendMessage(SuperWebSocket.IWebSocketSession,System.String)">
            <summary>
            Try to send the message.
            </summary>
            <param name="session">The session.</param>
            <param name="message">The message.</param>
            <returns>if the messaged has been enqueued into the sending queue, return true; else if the message failed to be enqueued becuase the sending is full, then return false</returns>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.SendData(SuperWebSocket.IWebSocketSession,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sends the data.
            </summary>
            <param name="session">The session.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.TrySendData(SuperWebSocket.IWebSocketSession,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Try to send the data.
            </summary>
            <param name="session">The session.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns>if the data has been enqueued into the sending queue, return true; else if the data failed to be enqueued becuase the sending is full, then return false</returns>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.SendCloseHandshake(SuperWebSocket.IWebSocketSession,System.Int32,System.String)">
            <summary>
            Sends the close handshake.
            </summary>
            <param name="session">The session.</param>
            <param name="statusCode">The status code.</param>
            <param name="closeReason">The close reason.</param>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.SendPong(SuperWebSocket.IWebSocketSession,System.Byte[])">
            <summary>
            Sends the pong.
            </summary>
            <param name="session">The session.</param>
            <param name="pong">The pong.</param>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.SendPing(SuperWebSocket.IWebSocketSession,System.Byte[])">
            <summary>
            Sends the ping.
            </summary>
            <param name="session">The session.</param>
            <param name="ping">The ping.</param>
        </member>
        <member name="P:SuperWebSocket.Protocol.IProtocolProcessor.Version">
            <summary>
            Gets the version of current protocol.
            </summary>
        </member>
        <member name="M:SuperWebSocket.Protocol.IProtocolProcessor.IsValidCloseCode(System.Int32)">
            <summary>
            Determines whether [is valid close code] [the specified code].
            </summary>
            <param name="code">The code.</param>
            <returns>
              <c>true</c> if [is valid close code] [the specified code]; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="T:SuperWebSocket.Protocol.IWebSocketFragment">
            <summary>
            WebSocketFragment request info
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.MultipleProtocolSwitchProcessor">
            <summary>
            http://tools.ietf.org/html/rfc6455#section-4.4
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.PlainFragment">
            <summary>
            Plain text fragment
            </summary>
        </member>
        <member name="M:SuperWebSocket.Protocol.PlainFragment.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.Protocol.PlainFragment"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="P:SuperWebSocket.Protocol.PlainFragment.Message">
            <summary>
            Gets the message.
            </summary>
        </member>
        <member name="P:SuperWebSocket.Protocol.PlainFragment.Key">
            <summary>
            Gets the key of this request.
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.Rfc6455Processor">
            <summary>
            http://tools.ietf.org/html/rfc6455
            </summary>
        </member>
        <member name="M:SuperWebSocket.Protocol.WebSocketDataReceiveFilter.Reset">
            <summary>
            Resets this instance.
            </summary>
        </member>
        <member name="T:SuperWebSocket.Protocol.WebSocketReceiveFilterBase">
            <summary>
            WebSocketReceiveFilter basis
            </summary>
        </member>
        <member name="F:SuperWebSocket.Protocol.WebSocketReceiveFilterBase.SecKey3Len">
            <summary>
            The length of Sec3Key
            </summary>
        </member>
        <member name="M:SuperWebSocket.Protocol.WebSocketReceiveFilterBase.#ctor(SuperWebSocket.IWebSocketSession)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.Protocol.WebSocketReceiveFilterBase" /> class.
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="M:SuperWebSocket.Protocol.WebSocketReceiveFilterBase.#ctor(SuperWebSocket.Protocol.WebSocketReceiveFilterBase)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.Protocol.WebSocketReceiveFilterBase" /> class.
            </summary>
            <param name="previousReceiveFilter">The previous receive filter.</param>
        </member>
        <member name="M:SuperWebSocket.Protocol.WebSocketReceiveFilterBase.Handshake(SuperWebSocket.Protocol.IProtocolProcessor,SuperWebSocket.IWebSocketSession)">
            <summary>
            Handshakes the specified protocol processor.
            </summary>
            <param name="protocolProcessor">The protocol processor.</param>
            <param name="session">The session.</param>
            <returns></returns>
        </member>
        <member name="P:SuperWebSocket.Protocol.WebSocketReceiveFilterBase.HandshakeRequestInfo">
            <summary>
            Gets the handshake request info.
            </summary>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`1">
            <summary>
            Async json sub command
            </summary>
            <typeparam name="TJsonCommandInfo">The type of the json command info.</typeparam>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`2">
            <summary>
            Async json sub command
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
            <typeparam name="TJsonCommandInfo">The type of the json command info.</typeparam>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`2"/> class.
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`2.ExecuteJsonCommand(`0,`1)">
            <summary>
            Executes the json command.
            </summary>
            <param name="session">The session.</param>
            <param name="commandInfo">The command info.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`2.ExecuteAsyncJsonCommand(`0,System.String,`1)">
            <summary>
            Executes the async json command.
            </summary>
            <param name="session">The session.</param>
            <param name="token">The token.</param>
            <param name="commandInfo">The command info.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`2.SendJsonMessage(`0,System.String,System.Object)">
            <summary>
            Sends the json message.
            </summary>
            <param name="session">The session.</param>
            <param name="token">The token.</param>
            <param name="content">The content.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.AsyncJsonSubCommand`2.SendJsonMessage(`0,System.String,System.String,System.Object)">
            <summary>
            Sends the json message.
            </summary>
            <param name="session">The session.</param>
            <param name="name">The name.</param>
            <param name="token">The token.</param>
            <param name="content">The content.</param>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.BasicSubCommandParser">
            <summary>
            Basic sub command parser
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubCommandParser.ParseRequestInfo(System.String)">
            <summary>
            Parses the request info.
            </summary>
            <param name="source">The source.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.BasicSubProtocol">
            <summary>
            Default basic sub protocol implementation
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol"/> class.
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol"/> class.
            </summary>
            <param name="name">The sub protocol name.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol.#ctor(System.Reflection.Assembly)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol"/> class.
            </summary>
            <param name="commandAssembly">The command assembly.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol.#ctor(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol"/> class.
            </summary>
            <param name="commandAssemblies">The command assemblies.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol.#ctor(System.String,System.Reflection.Assembly)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol"/> class.
            </summary>
            <param name="name">The sub protocol name.</param>
            <param name="commandAssembly">The command assembly.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol"/> class.
            </summary>
            <param name="name">The sub protocol name.</param>
            <param name="commandAssemblies">The command assemblies.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Reflection.Assembly},SuperSocket.SocketBase.Protocol.IRequestInfoParser{SuperWebSocket.SubProtocol.SubRequestInfo})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol"/> class.
            </summary>
            <param name="name">The name.</param>
            <param name="commandAssemblies">The command assemblies.</param>
            <param name="requestInfoParser">The request info parser.</param>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1">
            <summary>
            Default basic sub protocol implementation
            </summary>
        </member>
        <member name="F:SuperWebSocket.SubProtocol.BasicSubProtocol`1.DefaultName">
            <summary>
            Default basic sub protocol name
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1"/> class with the calling aseembly as command assembly
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1"/> class with the calling aseembly as command assembly
            </summary>
            <param name="name">The sub protocol name.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.#ctor(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1"/> class with command assemblies
            </summary>
            <param name="commandAssemblies">The command assemblies.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.#ctor(System.Reflection.Assembly)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1"/> class with single command assembly.
            </summary>
            <param name="commandAssembly">The command assembly.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.#ctor(System.String,System.Reflection.Assembly)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1"/> class with name and single command assembly.
            </summary>
            <param name="name">The sub protocol name.</param>
            <param name="commandAssembly">The command assembly.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1"/> class with name and command assemblies.
            </summary>
            <param name="name">The sub protocol name.</param>
            <param name="commandAssemblies">The command assemblies.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Reflection.Assembly},SuperSocket.SocketBase.Protocol.IRequestInfoParser{SuperWebSocket.SubProtocol.SubRequestInfo})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.BasicSubProtocol`1"/> class.
            </summary>
            <param name="name">The name.</param>
            <param name="commandAssemblies">The command assemblies.</param>
            <param name="requestInfoParser">The request info parser.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.Initialize(SuperSocket.SocketBase.IAppServer,SuperWebSocket.Config.SubProtocolConfig,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Initializes with the specified config.
            </summary>
            <param name="appServer">The app server.</param>
            <param name="protocolConfig">The protocol config.</param>
            <param name="logger">The logger.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.BasicSubProtocol`1.TryGetCommand(System.String,SuperWebSocket.SubProtocol.ISubCommand{`0}@)">
            <summary>
            Tries get command from the sub protocol's command inventory.
            </summary>
            <param name="name">The name.</param>
            <param name="command">The command.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.ISubCommand`1">
            <summary>
            SubCommand interface
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.ISubCommand`1.ExecuteCommand(`0,SuperWebSocket.SubProtocol.SubRequestInfo)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.ISubCommandFilterLoader">
            <summary>
            The basic interface of sub command filter loader
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.ISubCommandFilterLoader.LoadSubCommandFilters(System.Collections.Generic.IEnumerable{SuperWebSocket.SubProtocol.SubCommandFilterAttribute})">
            <summary>
            Loads the sub command filters.
            </summary>
            <param name="globalFilters">The global filters.</param>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.ISubProtocol`1">
            <summary>
            SubProtocol interface
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.ISubProtocol`1.Initialize(SuperSocket.SocketBase.IAppServer,SuperWebSocket.Config.SubProtocolConfig,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Initializes with the specified config.
            </summary>
            <param name="appServer">The app server.</param>
            <param name="protocolConfig">The protocol config.</param>
            <param name="logger">The logger.</param>
            <returns></returns>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.ISubProtocol`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.ISubProtocol`1.SubRequestParser">
            <summary>
            Gets the sub request parser.
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.ISubProtocol`1.TryGetCommand(System.String,SuperWebSocket.SubProtocol.ISubCommand{`0}@)">
            <summary>
            Tries the get command.
            </summary>
            <param name="name">The name.</param>
            <param name="command">The command.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.ISubRequestInfo">
            <summary>
            The basic interface of SubRequestInfo
            </summary>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.ISubRequestInfo.Token">
            <summary>
            Gets the token.
            </summary>
            <value>
            The token.
            </value>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.JsonSubCommand`1">
            <summary>
            JsonSubCommand
            </summary>
            <typeparam name="TJsonCommandInfo">The type of the json command info.</typeparam>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.JsonSubCommand`2">
            <summary>
            JsonSubCommand
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
            <typeparam name="TJsonCommandInfo">The type of the json command info.</typeparam>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommand`2.GetJsonMessage(`0,System.Object)">
            <summary>
            Gets the json message.
            </summary>
            <param name="session">The session.</param>
            <param name="content">The content.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommand`2.GetJsonMessage(`0,System.String,System.Object)">
            <summary>
            Gets the json message.
            </summary>
            <param name="session">The session.</param>
            <param name="name">The name.</param>
            <param name="content">The content.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommand`2.SendJsonMessage(`0,System.Object)">
            <summary>
            Sends the json message.
            </summary>
            <param name="session">The session.</param>
            <param name="content">The content.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommand`2.SendJsonMessage(`0,System.String,System.Object)">
            <summary>
            Sends the json message.
            </summary>
            <param name="session">The session.</param>
            <param name="name">The name.</param>
            <param name="content">The content.</param>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.JsonSubCommandBase`2">
            <summary>
            Json SubCommand base
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
            <typeparam name="TJsonCommandInfo">The type of the json command info.</typeparam>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommandBase`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.JsonSubCommandBase`2"/> class.
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommandBase`2.ExecuteCommand(`0,SuperWebSocket.SubProtocol.SubRequestInfo)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommandBase`2.ExecuteJsonCommand(`0,`1)">
            <summary>
            Executes the json command.
            </summary>
            <param name="session">The session.</param>
            <param name="commandInfo">The command info.</param>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.JsonSubCommandBase`2.GetJsonMessage(`0,System.String,System.String,System.Object)">
            <summary>
            Gets the json message.
            </summary>
            <param name="session">The session.</param>
            <param name="name">The name.</param>
            <param name="token">The token.</param>
            <param name="content">The content.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.SubCommandBase">
            <summary>
            SubCommand base
            </summary>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.SubCommandBase`1">
            <summary>
            SubCommand base
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.SubCommandBase`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.SubCommandBase`1.ExecuteCommand(`0,SuperWebSocket.SubProtocol.SubRequestInfo)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.SubCommandFilterAttribute">
            <summary>
            SubCommandFilter Attribute
            </summary>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.SubCommandFilterAttribute.SubProtocol">
            <summary>
            Gets or sets the sub protocol.
            </summary>
            <value>
            The sub protocol.
            </value>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.SubProtocolBase`1">
            <summary>
            SubProtocol basis
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.SubProtocolBase`1.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.SubProtocolBase`1"/> class.
            </summary>
            <param name="name">The name.</param>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.SubProtocolBase`1.Name">
            <summary>
            Gets the name.
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.SubProtocolBase`1.Initialize(SuperSocket.SocketBase.IAppServer,SuperWebSocket.Config.SubProtocolConfig,Microsoft.Extensions.Logging.ILogger)">
            <summary>
            Initializes with the specified config.
            </summary>
            <param name="appServer">The app server.</param>
            <param name="protocolConfig">The protocol config.</param>
            <param name="logger">The logger.</param>
            <returns></returns>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.SubProtocolBase`1.SubRequestParser">
            <summary>
            Gets or sets the sub request parser.
            </summary>
            <value>
            The sub request parser.
            </value>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.SubProtocolBase`1.TryGetCommand(System.String,SuperWebSocket.SubProtocol.ISubCommand{`0}@)">
            <summary>
            Tries the get command.
            </summary>
            <param name="name">The name.</param>
            <param name="command">The command.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.SubProtocol.SubRequestInfo">
            <summary>
            SubProtocol RequestInfo type
            </summary>
        </member>
        <member name="P:SuperWebSocket.SubProtocol.SubRequestInfo.Token">
            <summary>
            Gets the token of this request, used for callback
            </summary>
        </member>
        <member name="M:SuperWebSocket.SubProtocol.SubRequestInfo.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.SubProtocol.SubRequestInfo"/> class.
            </summary>
            <param name="key">The key.</param>
            <param name="token">The token.</param>
            <param name="data">The data.</param>
        </member>
        <member name="T:SuperWebSocket.TextEncodingBinaryDataConverter">
            <summary>
            Text encoding binary data converter
            </summary>
        </member>
        <member name="P:SuperWebSocket.TextEncodingBinaryDataConverter.Encoding">
            <summary>
            Gets the encoding.
            </summary>
            <value>
            The encoding.
            </value>
        </member>
        <member name="M:SuperWebSocket.TextEncodingBinaryDataConverter.#ctor(System.Text.Encoding)">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.TextEncodingBinaryDataConverter" /> class.
            </summary>
            <param name="encoding">The encoding.</param>
        </member>
        <member name="M:SuperWebSocket.TextEncodingBinaryDataConverter.ToString(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:SuperWebSocket.WebSocketProtocol">
            <summary>
            WebSocket protocol
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketProtocol.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.WebSocketProtocol"/> class.
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketProtocol.CreateFilter(SuperSocket.SocketBase.IAppServer,SuperSocket.SocketBase.IAppSession,System.Net.IPEndPoint)">
            <summary>
            Creates the filter.
            </summary>
            <param name="appServer">The app server.</param>
            <param name="appSession">The app session.</param>
            <param name="remoteEndPoint">The remote end point.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.IWebSocketServer">
            <summary>
            WebSocket server interface
            </summary>
        </member>
        <member name="P:SuperWebSocket.IWebSocketServer.WebSocketProtocolProcessor">
            <summary>
            Gets the web socket protocol processor.
            </summary>
        </member>
        <member name="M:SuperWebSocket.IWebSocketServer.ValidateHandshake(SuperWebSocket.IWebSocketSession,System.String)">
            <summary>
            Validates the handshake request.
            </summary>
            <param name="session">The session.</param>
            <param name="origin">The origin.</param>
            <returns>the validation result</returns>
        </member>
        <member name="T:SuperWebSocket.WebSocketServer">
            <summary>
            WebSocket AppServer
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer.#ctor(System.Collections.Generic.IEnumerable{SuperWebSocket.SubProtocol.ISubProtocol{SuperWebSocket.WebSocketSession}})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.WebSocketServer"/> class.
            </summary>
            <param name="subProtocols">The sub protocols.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer.#ctor(SuperWebSocket.SubProtocol.ISubProtocol{SuperWebSocket.WebSocketSession})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.WebSocketServer"/> class.
            </summary>
            <param name="subProtocol">The sub protocol.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.WebSocketServer"/> class.
            </summary>
        </member>
        <member name="T:SuperWebSocket.WebSocketServer`1">
            <summary>
            WebSocket AppServer
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.WebSocketServer`1.BinaryDataConverter">
            <summary>
            Gets or sets the binary data converter.
            </summary>
            <value>
            The binary data converter.
            </value>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.#ctor(System.Collections.Generic.IEnumerable{SuperWebSocket.SubProtocol.ISubProtocol{`0}})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.WebSocketServer`1"/> class.
            </summary>
            <param name="subProtocols">The sub protocols.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.#ctor(SuperWebSocket.SubProtocol.ISubProtocol{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.WebSocketServer`1"/> class.
            </summary>
            <param name="subProtocol">The sub protocol.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SuperWebSocket.WebSocketServer`1"/> class.
            </summary>
        </member>
        <member name="F:SuperWebSocket.WebSocketServer`1.m_OpenHandshakeTimeOut">
            <summary>
            The openning handshake timeout, in seconds
            </summary>
        </member>
        <member name="F:SuperWebSocket.WebSocketServer`1.m_CloseHandshakeTimeOut">
            <summary>
            The closing handshake timeout, in seconds
            </summary>
        </member>
        <member name="F:SuperWebSocket.WebSocketServer`1.m_HandshakePendingQueueCheckingInterval">
            <summary>
            The interval of checking handshake pending queue, in seconds
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.GetSubProtocol(System.String)">
            <summary>
            Gets the sub protocol by sub protocol name.
            </summary>
            <param name="name">The name.</param>
            <returns></returns>
        </member>
        <member name="P:SuperWebSocket.WebSocketServer`1.ReceiveFilterFactory">
            <summary>
            Gets the request filter factory.
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.RegisterSubProtocol(System.Collections.Generic.IEnumerable{SuperWebSocket.SubProtocol.ISubProtocol{`0}})">
            <summary>
            Register sub protocols, Only use after empty create 
            </summary>
            <param name="subProtocols"></param>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.ValidateHandshake(`0,System.String)">
            <summary>
            Validates the handshake request.
            </summary>
            <param name="session">The session.</param>
            <param name="origin">The origin in the handshake request.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.Setup(SuperSocket.SocketBase.Config.IRootConfig,SuperSocket.SocketBase.Config.IServerConfig)">
            <summary>
            Setups with the specified root config.
            </summary>
            <param name="rootConfig">The root config.</param>
            <param name="config">The config.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.OnStarted">
            <summary>
            Called when [started].
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.OnNewSessionConnected(`0)">
            <summary>
            Called when [new session connected].
            </summary>
            <param name="session">The session.</param>
        </member>
        <member name="E:SuperWebSocket.WebSocketServer`1.NewRequestReceived">
            <summary>
            Occurs when [new request received].
            </summary>
            <exception cref="T:System.NotSupportedException"></exception>
        </member>
        <member name="E:SuperWebSocket.WebSocketServer`1.NewMessageReceived">
            <summary>
            Occurs when [new message received].
            </summary>
        </member>
        <member name="E:SuperWebSocket.WebSocketServer`1.NewDataReceived">
            <summary>
            Occurs when [new data received].
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.SetupCommands(System.Collections.Generic.Dictionary{System.String,SuperSocket.SocketBase.Command.ICommand{`0,SuperWebSocket.Protocol.IWebSocketFragment}})">
            <summary>
            Setups the commands.
            </summary>
            <param name="discoveredCommands">The discovered commands.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.ExecuteCommand(`0,SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Executes the command.
            </summary>
            <param name="session">The session.</param>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.Broadcast(System.Collections.Generic.IEnumerable{`0},System.Byte[],System.Int32,System.Int32,System.Action{`0,System.Boolean})">
            <summary>
            Broadcasts data to the specified sessions.
            </summary>
            <param name="sessions">The sessions.</param>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <param name="sendFeedback">The send feedback.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.Broadcast(System.Collections.Generic.IEnumerable{`0},System.String,System.Action{`0,System.Boolean})">
            <summary>
            Broadcasts message to the specified sessions.
            </summary>
            <param name="sessions">The sessions.</param>
            <param name="message">The message.</param>
            <param name="sendFeedback">The send feedback.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.JsonSerialize(System.Object)">
            <summary>
            Serialize the target object by JSON
            </summary>
            <param name="target">The target.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketServer`1.JsonDeserialize(System.String,System.Type)">
            <summary>
            Deserialize the JSON string to target type object.
            </summary>
            <param name="json">The json.</param>
            <param name="type">The type.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.IWebSocketSession">
            <summary>
            WebSocketSession basic interface
            </summary>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.Method">
            <summary>
            Gets or sets the method.
            </summary>
            <value>
            The method.
            </value>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.Host">
            <summary>
            Gets the host.
            </summary>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.Path">
            <summary>
            Gets or sets the path.
            </summary>
            <value>
            The path.
            </value>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.HttpVersion">
            <summary>
            Gets or sets the HTTP version.
            </summary>
            <value>
            The HTTP version.
            </value>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.SecWebSocketVersion">
            <summary>
            Gets the sec web socket version.
            </summary>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.Origin">
            <summary>
            Gets the origin.
            </summary>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.UriScheme">
            <summary>
            Gets the URI scheme.
            </summary>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.Handshaked">
            <summary>
            Gets a value indicating whether this <see cref="T:SuperWebSocket.IWebSocketSession" /> is handshaked.
            </summary>
            <value>
              <c>true</c> if handshaked; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:SuperWebSocket.IWebSocketSession.SendRawData(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sends the raw binary data to client.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
        </member>
        <member name="M:SuperWebSocket.IWebSocketSession.TrySendRawData(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Try to send the raw binary data to client.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns>if the data to be sent is queued, return true, else the queue is full, then return false</returns>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.AppServer">
            <summary>
            Gets the app server.
            </summary>
        </member>
        <member name="P:SuperWebSocket.IWebSocketSession.ProtocolProcessor">
            <summary>
            Gets or sets the protocol processor.
            </summary>
            <value>
            The protocol processor.
            </value>
        </member>
        <member name="M:SuperWebSocket.IWebSocketSession.GetAvailableSubProtocol(System.String)">
            <summary>
            Gets the available sub protocol.
            </summary>
            <param name="protocol">The protocol.</param>
            <returns></returns>
        </member>
        <member name="T:SuperWebSocket.WebSocketSession">
            <summary>
            WebSocket AppSession
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession.AppServer">
            <summary>
            Gets the app server.
            </summary>
        </member>
        <member name="T:SuperWebSocket.WebSocketSession`1">
            <summary>
            WebSocket AppSession class
            </summary>
            <typeparam name="TWebSocketSession">The type of the web socket session.</typeparam>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Method">
            <summary>
            Gets or sets the method.
            </summary>
            <value>
            The method.
            </value>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Path">
            <summary>
            Gets or sets the path.
            </summary>
            <value>
            The path.
            </value>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.HttpVersion">
            <summary>
            Gets or sets the HTTP version.
            </summary>
            <value>
            The HTTP version.
            </value>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Host">
            <summary>
            Gets the host.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Origin">
            <summary>
            Gets the origin.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Upgrade">
            <summary>
            Gets the upgrade.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Connection">
            <summary>
            Gets the connection.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.SecWebSocketVersion">
            <summary>
            Gets the sec web socket version.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.SecWebSocketProtocol">
            <summary>
            Gets the sec web socket protocol.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.CurrentToken">
            <summary>
            Gets the current token.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.AppServer">
            <summary>
            Gets the app server.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.UriScheme">
            <summary>
            Gets the URI scheme, ws or wss
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.SubProtocol">
            <summary>
            Gets the sub protocol.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Handshaked">
            <summary>
            Gets a value indicating whether this <see cref="T:SuperWebSocket.IWebSocketSession" /> is handshaked.
            </summary>
            <value>
              <c>true</c> if handshaked; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.InClosing">
            <summary>
            Gets a value indicating whether the session [in closing].
            </summary>
            <value>
              <c>true</c> if [in closing]; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.OnInit">
            <summary>
            Called when [init].
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.SetCookie">
            <summary>
            Sets the cookie.
            </summary>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.Cookies">
            <summary>
            Gets the cookies.
            </summary>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.Send(System.String)">
            <summary>
            Sends the message to client.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.TrySend(System.String)">
            <summary>
            Tries to send.
            </summary>
            <param name="message">The message to be sent.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.Send(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sends the data to client.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.TrySend(System.ArraySegment{System.Byte})">
            <summary>
            Tries to send the data over the websocket connection.
            </summary>
            <param name="segment">The segment to be sent.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.TrySend(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Tries to send the data over the websocket connection.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.Send(System.ArraySegment{System.Byte})">
            <summary>
            Sends the segment to client.
            </summary>
            <param name="segment">The segment.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.SuperWebSocket#IWebSocketSession#SendRawData(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sends the raw binary data.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.SuperWebSocket#IWebSocketSession#TrySendRawData(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Try to send the raw binary data to client.
            </summary>
            <param name="data">The data.</param>
            <param name="offset">The offset.</param>
            <param name="length">The length.</param>
            <returns>
            if the data to be sent is queued, return true, else the queue is full, then return false
            </returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.TrySendRawData(System.Collections.Generic.IList{System.ArraySegment{System.Byte}})">
            <summary>
            Tries the send raw data segments.
            </summary>
            <param name="segments">The segments.</param>
            <returns></returns>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.CloseWithHandshake(System.String)">
            <summary>
            Closes the with handshake.
            </summary>
            <param name="reasonText">The reason text.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.CloseWithHandshake(System.Int32,System.String)">
            <summary>
            Closes the with handshake.
            </summary>
            <param name="statusCode">The status code.</param>
            <param name="reasonText">The reason text.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.SendCloseHandshakeResponse(System.Int32)">
            <summary>
            Sends the close handshake response.
            </summary>
            <param name="statusCode">The status code.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.Close(SuperSocket.SocketBase.CloseReason)">
            <summary>
            Closes the specified reason.
            </summary>
            <param name="reason">The reason.</param>
        </member>
        <member name="P:SuperWebSocket.WebSocketSession`1.ProtocolProcessor">
            <summary>
            Gets or sets the protocol processor.
            </summary>
            <value>
            The protocol processor.
            </value>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.HandleUnknownCommand(SuperWebSocket.SubProtocol.SubRequestInfo)">
            <summary>
            Handles the unknown command.
            </summary>
            <param name="requestInfo">The request info.</param>
        </member>
        <member name="M:SuperWebSocket.WebSocketSession`1.HandleUnknownRequest(SuperWebSocket.Protocol.IWebSocketFragment)">
            <summary>
            Handles the unknown request.
            </summary>
            <param name="requestInfo">The request info.</param>
        </member>
    </members>
</doc>
