<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
  <Class Name="RRQMSocket.Properties.Resources" Collapsed="true">
    <Position X="23.25" Y="2.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAABAAABEAAAAQAAAAAAAAAAAAAAAIA=</HashCode>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.AsyncResult" Collapsed="true">
    <Position X="21.5" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAA=</HashCode>
      <FileName>Common\AsyncResult.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.AsyncSender" Collapsed="true" BaseTypeListCollapsed="true">
    <Position X="23.25" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAQAAAACiACAAiAAABAAAAAEAAACAAAAVAAAAAIFA=</HashCode>
      <FileName>Common\AsyncSender.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" Collapsed="true" />
  </Class>
  <Class Name="RRQMSocket.CreateOption" Collapsed="true">
    <Position X="21.5" Y="1.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAgAAAAAAAAAAAAAAAAAACAAAAAAAAAAA=</HashCode>
      <FileName>Common\CreateOption.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.IPHost" Collapsed="true">
    <Position X="23.25" Y="1.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAQAAEAAAAAAAAKAAAAAAAAAAAAAAAAAE=</HashCode>
      <FileName>Common\IPHost.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ProcotolHelper" Collapsed="true">
    <Position X="21.5" Y="2.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACAAABAAAAA=</HashCode>
      <FileName>Common\ProcotolHelper.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ClientConfig" Collapsed="true">
    <Position X="12" Y="12" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Config\ClientConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ProtocolClientConfig" Collapsed="true">
    <Position X="12" Y="16.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Config\ProtocolClientConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ProtocolServerConfig" Collapsed="true">
    <Position X="7.5" Y="16.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAEIAAAAAAAAAAAAAA=</HashCode>
      <FileName>Config\ProtocolServerConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.RRQMConfig" Collapsed="true">
    <Position X="9.75" Y="10.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAIAAAAAAIAAAAAAgQgAAAAAAAAAAAAAIABAAQAAAA=</HashCode>
      <FileName>Config\RRQMConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ServerConfig" Collapsed="true">
    <Position X="8.5" Y="12" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAIAAAAAAAAAABCAQAAAAAAAAAAAAAAAQAAgAAAAAAA=</HashCode>
      <FileName>Config\ServerConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.TcpClientConfig" Collapsed="true">
    <Position X="12" Y="13.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AACAAAAAAAAAAQAAgQAEAAAAAAQAEBAgAAAABACgAAA=</HashCode>
      <FileName>Config\TcpClientConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.TcpServerConfig" Collapsed="true">
    <Position X="7.5" Y="13.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AQAIAAAAAAAAQAAAAAgQAAAAIAAAAAAAAAAAQCAAAAA=</HashCode>
      <FileName>Config\TcpServerConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.TokenClientConfig" Collapsed="true">
    <Position X="12" Y="14.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>wAAAgAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Config\TokenClientConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.TokenServerConfig" Collapsed="true">
    <Position X="7.5" Y="14.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>wAAAgAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Config\TokenServerConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.UdpSessionConfig" Collapsed="true">
    <Position X="9.75" Y="13.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>BAAAAAAAAgAAAAAACAAAAAAAAAAAAAACAAAAAAAAAAA=</HashCode>
      <FileName>Config\UdpSessionConfig.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.DataHandlingAdapter" Collapsed="true">
    <Position X="5" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>IAAAKAABAAIAAAAAAEAAAAAAAAIAAAAIAAAAAAIgAAA=</HashCode>
      <FileName>DataAdapter\DataHandlingAdapter.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.FixedHeaderDataHandlingAdapter" Collapsed="true">
    <Position X="0.5" Y="1.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>gEgAJEAAAAQAAAABAAAAAAAAAAIAACAEAAAAAABAAAA=</HashCode>
      <FileName>DataAdapter\FixedHeaderDataHandlingAdapter.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.FixedSizeDataHandlingAdapter" Collapsed="true">
    <Position X="2.75" Y="1.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>gACAIEAAAAAAAAABAAAAAAAAAAIAAAAEAAAAAAAAAAA=</HashCode>
      <FileName>DataAdapter\FixedSizeDataHandlingAdapter.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.JsonStringDataHandlingAdapter" Collapsed="true">
    <Position X="5" Y="1.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>gAAAIAAAAAAAAAAAAAAABAAAAAIAAAAAAAAAgAAAAAA=</HashCode>
      <FileName>DataAdapter\JsonStringDataHandlingAdapter.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.NormalDataHandlingAdapter" Collapsed="true">
    <Position X="7.25" Y="1.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAIAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>DataAdapter\NormalDataHandlingAdapter.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.TerminatorDataHandlingAdapter" Collapsed="true">
    <Position X="9.5" Y="1.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>gEAAIEAAAAAAAAAAAAAAAAAAgAIAAAAAAgAAAAEAAAI=</HashCode>
      <FileName>DataAdapter\TerminatorDataHandlingAdapter.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.BytesEventArgs" Collapsed="true">
    <Position X="4.25" Y="12.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>EventArgs\BytesEventArgs.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.MesEventArgs" Collapsed="true">
    <Position X="26.75" Y="1.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAA=</HashCode>
      <FileName>EventArgs\MesEventArgs.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ReturnBytesEventArgs" Collapsed="true">
    <Position X="4.25" Y="14" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>EventArgs\ReturnBytesEventArgs.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.RRQMNotConnectedException" Collapsed="true">
    <Position X="25" Y="2.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Exceptions\RRQMNotConnectedException.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.RRQMOverlengthException" Collapsed="true">
    <Position X="26.75" Y="2.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Exceptions\RRQMOverlengthException.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.RRQMTimeoutException" Collapsed="true">
    <Position X="21.5" Y="3.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Exceptions\RRQMTimeoutException.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.BufferQueue" Collapsed="true">
    <Position X="25" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AABAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>InternalClass\BufferQueue.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.BufferQueueGroup" Collapsed="true" BaseTypeListCollapsed="true">
    <Position X="26.75" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAASAAAAAAAAAAAAAAAAAAACAAACEAIAAAAAA=</HashCode>
      <FileName>InternalClass\BufferQueueGroup.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" Collapsed="true" />
  </Class>
  <Class Name="RRQMSocket.SocketCliectCollection&lt;T&gt;" Collapsed="true" BaseTypeListCollapsed="true">
    <Position X="23.25" Y="3.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAQAAACABQAAACAAAAASAQAAAAAAAAAAEACAAAQA=</HashCode>
      <FileName>InternalClass\SocketCliectCollection.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" Collapsed="true" />
  </Class>
  <Class Name="RRQMSocket.Log" Collapsed="true" BaseTypeListCollapsed="true">
    <Position X="25" Y="1.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Logger\Log.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" Collapsed="true" />
  </Class>
  <Class Name="RRQMSocket.VerifyOption" Collapsed="true">
    <Position X="25" Y="3.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AYAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAABAAA=</HashCode>
      <FileName>ParameterClass\VerifyOption.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ProtocolClient" Collapsed="true">
    <Position X="12.25" Y="7.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AABAAAAAACBAAAAAEELAAACAEAAAACAAAAAAABQBAAA=</HashCode>
      <FileName>TCP\Client\ProtocolClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleProtocolClient" Collapsed="true">
    <Position X="12.25" Y="9" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>TCP\Client\SimpleProtocolClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleTcpClient" Collapsed="true">
    <Position X="10" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAA=</HashCode>
      <FileName>TCP\Client\SimpleTcpClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleTokenClient" Collapsed="true">
    <Position X="14.5" Y="7.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA=</HashCode>
      <FileName>TCP\Client\SimpleTokenClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.TcpClient" Collapsed="true">
    <Position X="12.25" Y="4.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>QAzBAAAAiCgACgQAAEIEUYWAKBgICAAEGCBBBEQhADA=</HashCode>
      <FileName>TCP\Client\TcpClient.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" />
  </Class>
  <Class Name="RRQMSocket.TokenClient" Collapsed="true">
    <Position X="13.5" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAEgAAAAABAgAAAAAAEAICAAAAAAACAAAAAAAAAAgA=</HashCode>
      <FileName>TCP\Client\TokenClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ProtocolService&lt;TClient&gt;" Collapsed="true">
    <Position X="7.75" Y="7.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>BAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>TCP\Service\ProtocolService.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleProtocolService" Collapsed="true">
    <Position X="7.75" Y="9" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABAAAQQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>TCP\Service\SimpleProtocolService.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleTcpService" Collapsed="true">
    <Position X="3.25" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABAAAQQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>TCP\Service\SimpleTcpService.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleTokenService" Collapsed="true">
    <Position X="5.5" Y="7.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABAAAQQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>TCP\Service\SimpleTokenService.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.TcpService&lt;TClient&gt;" Collapsed="true">
    <Position X="5.5" Y="4.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AUJgAAEACKBgQBCBQkCUABCAUAAEAhIILIAEKAEgKCA=</HashCode>
      <FileName>TCP\Service\TcpService.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" />
  </Class>
  <Class Name="RRQMSocket.TokenService&lt;TClient&gt;" Collapsed="true">
    <Position X="6.75" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAEgAAAAAAAAAABAAAEAACAAAAAAACAAAAAgAAAAAA=</HashCode>
      <FileName>TCP\Service\TokenService.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.ProtocolSocketClient" Collapsed="true">
    <Position X="16.75" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>BABgAAAAAABAAAAAEEDAAAAAEAAAAAAAAAAAABQAAAA=</HashCode>
      <FileName>TCP\SocketClient\ProtocolSocketClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleProtocolSocketClient" Collapsed="true">
    <Position X="16.75" Y="7.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAA=</HashCode>
      <FileName>TCP\SocketClient\SimpleProtocolSocketClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SimpleSocketClient" Collapsed="true">
    <Position X="19" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAA=</HashCode>
      <FileName>TCP\SocketClient\SimpleSocketClient.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.SocketClient" Collapsed="true">
    <Position X="18" Y="4.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>BghAAAAAAChggAQAAEIEUQSAKABIQEAKCAADACQgAhA=</HashCode>
      <FileName>TCP\SocketClient\SocketClient.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" />
  </Class>
  <Class Name="RRQMSocket.SimpleUdpSession" Collapsed="true">
    <Position X="1" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA=</HashCode>
      <FileName>UDP\SimpleUdpSession.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="RRQMSocket.UdpSession" Collapsed="true">
    <Position X="1" Y="4.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AERgAAAASCAAAACACEIAgBiAOACMABIEKAABAAQkIBA=</HashCode>
      <FileName>UDP\UdpSession.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" />
  </Class>
  <Class Name="RRQMSocket.BaseSocket" Collapsed="true">
    <Position X="10" Y="3.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>BAAAAAAAACIAIAAAAAAABAAAAEAAAAAAAAAAAAQAIAA=</HashCode>
      <FileName>BaseSocket.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" />
  </Class>
  <Struct Name="RRQMSocket.AsyncByte" Collapsed="true">
    <Position X="21.5" Y="4.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AACAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAABAAAAAAAA=</HashCode>
      <FileName>Common\AsyncByte.cs</FileName>
    </TypeIdentifier>
  </Struct>
  <Struct Name="RRQMSocket.ClientBuffer" Collapsed="true">
    <Position X="23.25" Y="4.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>BAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAABAAAAAA=</HashCode>
      <FileName>InternalClass\ClientBuffer.cs</FileName>
    </TypeIdentifier>
  </Struct>
  <Interface Name="RRQMSocket._ITcpService" Collapsed="true">
    <Position X="15.5" Y="2" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Interface\_ITcpService.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.IClient" Collapsed="true">
    <Position X="1.5" Y="7.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AABAAAAAAAAAAAAAAEAAAAAAKAAAAAAACAAAAAAgAAA=</HashCode>
      <FileName>Interface\IClient.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.IHandleBuffer" Collapsed="true">
    <Position X="25" Y="6" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Interface\IHandleBuffer.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.IService" Collapsed="true">
    <Position X="14.5" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAACCAAAACAAAAAAAAAAAAAABAAIAAAAAAgIAA=</HashCode>
      <FileName>Interface\IService.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.ISocket" Collapsed="true">
    <Position X="26.75" Y="6" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA=</HashCode>
      <FileName>Interface\ISocket.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.ISocketClient" Collapsed="true">
    <Position X="1.5" Y="10.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAgAAAAAAAAACAAAAAQAAAAAAAAAAAAAA=</HashCode>
      <FileName>Interface\ISocketClient.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.ITcpClient" Collapsed="true">
    <Position X="1.5" Y="9" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAEEQQAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Interface\ITcpClient.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.ITcpService&lt;TClient&gt;" Collapsed="true">
    <Position X="13.25" Y="2" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AQJAAAAAAAAAAAAAAEAQAAAAQAAAAAAABAAEIAAAAAA=</HashCode>
      <FileName>Interface\ITcpService.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.IUserClient" Collapsed="true">
    <Position X="4.5" Y="11" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAACAAAAAAAAAAAAIAAAAgAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Interface\IUserClient.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.IUserTcpClient" Collapsed="true">
    <Position X="1.5" Y="12.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AASAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Interface\IUserTcpClient.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.Pool.IClientGroup" Collapsed="true">
    <Position X="21.5" Y="6" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>Pool\Interface\IClientGroup.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Interface Name="RRQMSocket.Pool.IConnectionPool&lt;T&gt;" Collapsed="true">
    <Position X="23.25" Y="6" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAIAEAAAIEAAEAACAAAAAAAAAQAAAAAgAAA=</HashCode>
      <FileName>Pool\Interface\IConnectionPool.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Enum Name="RRQMSocket.ServerState" Collapsed="true">
    <Position X="21.5" Y="7" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAIAAAAAAECAAA=</HashCode>
      <FileName>Enum\ServerState.cs</FileName>
    </TypeIdentifier>
  </Enum>
  <Delegate Name="RRQMMessageEventHandler" Collapsed="true">
    <Position X="25" Y="8" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAEAAAAQAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>DelegateCollection.cs</FileName>
    </TypeIdentifier>
  </Delegate>
  <Delegate Name="RRQMByteBlockEventHandler" Collapsed="true">
    <Position X="21.5" Y="8" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>DelegateCollection.cs</FileName>
    </TypeIdentifier>
  </Delegate>
  <Delegate Name="RRQMUDPByteBlockEventHandler" Collapsed="true">
    <Position X="21.5" Y="8.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA=</HashCode>
      <FileName>DelegateCollection.cs</FileName>
    </TypeIdentifier>
  </Delegate>
  <Delegate Name="RRQMBytesEventHandler" Collapsed="true">
    <Position X="23.25" Y="8" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>DelegateCollection.cs</FileName>
    </TypeIdentifier>
  </Delegate>
  <Delegate Name="RRQMReturnBytesEventHandler" Collapsed="true">
    <Position X="26.75" Y="8" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAACAAA=</HashCode>
      <FileName>DelegateCollection.cs</FileName>
    </TypeIdentifier>
  </Delegate>
  <Font Name="Microsoft YaHei UI" Size="9" />
</ClassDiagram>