All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.archdev.foundationdb.interpreters.database.UtilsInterpreter.scala Maven / Gradle / Ivy

The newest version!
package me.archdev.foundationdb.interpreters.database

import java.util.concurrent.CompletableFuture

import com.apple.foundationdb.Transaction
import me.archdev.foundationdb._
import me.archdev.foundationdb.algebra.UtilsAlgebra

trait UtilsInterpreter extends UtilsAlgebra[DatabaseContext] {

  override def raw[V](f: Transaction => CompletableFuture[V]): DatabaseContext[V] =
    transactionAction(f)

  override def getReadVersion(): DatabaseContext[Long] =
    transactionAction {
      _.getReadVersion.thenApply(javaClojure(_.longValue()))
    }

  override def setReadVersion(version: Long): DatabaseContext[Unit] =
    transactionAction { tr =>
      tr.setReadVersion(version)
      null
    }

  override def getCommittedVersion(): DatabaseContext[Long] =
    transactionAction { tr =>
      CompletableFuture.completedFuture(tr.getCommittedVersion)
    }

}

object UtilsInterpreter extends UtilsInterpreter




© 2015 - 2025 Weber Informatics LLC | Privacy Policy