private Task <IConnection> CreateConnectionAsync(ConnectionOptions options)
        {
            Connection.Builder connectionBuilder = Driver.RethinkDB.R.Connection()
                                                   .Hostname(options.Hostname);

            if (options.Port.HasValue)
            {
                connectionBuilder.Port(options.Port.Value);
            }

            if (!(options.AuthorizationKey is null))
            {
                connectionBuilder.AuthKey(options.AuthorizationKey);
            }

            if (!(options.User is null))
            {
                connectionBuilder.User(options.User, options.Password);
            }

            if (options.EnableSsl)
            {
                connectionBuilder.EnableSsl(new SslContext(), options.LicenseTo, options.LicenseKey);
            }

            return(connectionBuilder.ConnectAsync().ContinueWith(t => (IConnection)t.Result));
        }
Пример #2
0
 public static void dbinit()
 {
     Connection.Builder builder = r.Connection().Hostname("localhost").Port(28015);
     // connect
     Console.WriteLine("Floatzel is now loading EzioSoft RethinkDB Driver V2...");
     thonk = builder.Connect();
     // check if the database exists
     if (!(bool)r.DbList().Contains("FloatzelSharp").Run(thonk))
     {
         // it doesnt exist! make that database!
         Console.WriteLine("Database not detected! creating new database...");
         r.DbCreate("FloatzelSharp").Run(thonk);
         thonk.Use("FloatzelSharp");
         Console.WriteLine("Creating tables...");
         makeTables();
         Console.WriteLine("Database created!");
     }
     else
     {
         thonk.Use("FloatzelSharp");
         Console.WriteLine("Driver loaded!");
     }
     // check for legacy database stuff
     Console.WriteLine("Floatzel is now checking for 2.x database...");
     if ((bool)r.DbList().Contains("floatzel").Run(thonk))
     {
         oldthonk = builder.Connect();
         oldthonk.Use("floatzel");
         Console.WriteLine("Floatzel found 2.x database! Will convert data as its accessed");
         hasOld = true;
     }
     else
     {
         Console.WriteLine("Floatzel did not find 2.x databse!");
     }
 }