예제 #1
0
		/// <summary>
		/// 
		/// </summary>
		private void InitTransportAndClient()
		{
			var socket = new TSocket(Server.Host, Server.Port, Server.Timeout * 1000);

			switch (ConnectionType)
			{
				case ConnectionType.Simple:
					_transport = socket;
					break;

				case ConnectionType.Buffered:
					_transport = new TBufferedTransport(socket, BufferSize);
					break;

				case ConnectionType.Framed:
					_transport = new TFramedTransport(socket);
					break;

				default:
					goto case ConnectionType.Framed;
			}

			var protocol = new TBinaryProtocol(_transport);
			_client = new Cassandra.Client(protocol);
		}
예제 #2
0
		protected override TTransport AcceptImpl()
		{
			if (server == null)
			{
				throw new TTransportException(TTransportException.ExceptionType.NotOpen, "No underlying server socket.");
			}
			try
			{
				TcpClient result = server.AcceptTcpClient();
				TSocket result2 = new TSocket(result);
        try
        {
          result2 = new TSocket(result);
          result2.Timeout = clientTimeout;
          if (useBufferedSockets)
          {
            TBufferedTransport result3 = new TBufferedTransport(result2);
            return result3;
          }
          else
          {
            return result2;
          }
        }
        catch (System.Exception)
        {
          // If a TSocket was successfully created, then let 
          // it do proper cleanup of the TcpClient object.
          if (result2 != null)
            result2.Dispose();
          else //  Otherwise, clean it up ourselves.
            ((IDisposable)result).Dispose();
          throw;
        }
      }
      catch (Exception ex)
      {
        throw new TTransportException(ex.ToString());
      }
    }