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

io.sirix.access.trx.node.InternalResourceSession Maven / Gradle / Ivy

package io.sirix.access.trx.node;

import io.sirix.api.*;
import io.sirix.page.UberPage;

import java.nio.file.Path;
import java.util.concurrent.locks.Lock;

public interface InternalResourceSession
    extends ResourceSession {
  /**
   * Abort the write-transaction.
   */
  enum Abort {
    /**
     * Yes, abort.
     */
    YES,

    /**
     * No, don't abort.
     */
    NO
  }

  Path getCommitFile();

  void assertAccess(int revision);

  PageTrx createPageTransaction(long trxID, int revision, int i, Abort no, boolean isBoundToNodeTrx);

  Lock getCommitLock();

  void setLastCommittedUberPage(UberPage lastUberPage);

  void closeWriteTransaction(long transactionID);

  void setNodePageWriteTransaction(long transactionID, PageTrx pageTrx);

  void closeNodePageWriteTransaction(long transactionID);

  void closeReadTransaction(long trxId);

  void closePageReadTransaction(Long trxId);

  void closePageWriteTransaction(Long transactionID);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy