Package org.multiverse.stms.gamma.transactions

## Class GammaTxnPool

- java.lang.Object
- - org.multiverse.stms.gamma.transactions.GammaTxnPool

- All Implemented Interfaces:
    `MultiverseConstants`, `GammaConstants`

      public final class GammaTxnPool
      extends Object
      implements GammaConstants

  A pool for pooling GammaTxns.

- - ### Field Summary

    - ### Fields inherited from interface org.multiverse.stms.gamma.GammaConstants

      `FAILURE, MASK_CONFLICT, MASK_SUCCESS, MASK_UNREGISTERED, REGISTRATION_DONE, REGISTRATION_NONE, REGISTRATION_NOT_NEEDED, TRANLOCAL_COMMUTING, TRANLOCAL_CONSTRUCTING, TRANLOCAL_READ, TRANLOCAL_WRITE, TRANSACTIONTYPE_FAT_FIXED_LENGTH, TRANSACTIONTYPE_FAT_MONO, TRANSACTIONTYPE_FAT_VARIABLE_LENGTH, TRANSACTIONTYPE_LEAN_FIXED_LENGTH, TRANSACTIONTYPE_LEAN_MONO, TX_ABORTED, TX_ACTIVE, TX_COMMITTED, TX_PREPARED, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_INT, TYPE_LONG, TYPE_REF, VERSION_UNCOMMITTED`

    - ### Fields inherited from interface org.multiverse.MultiverseConstants

      `LOCKMODE_EXCLUSIVE, LOCKMODE_NONE, LOCKMODE_READ, LOCKMODE_WRITE, SHAKE_BUGS, SPIN_YIELD, TRACING_ENABLED`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GammaTxnPool()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `put​(GammaTxn tx)` | Puts a GammaTxn in the pool.
    `FatFixedLengthGammaTxn` | `takeFatFixedLength()` | Takes a FatArrayGammaTxn from the pool.
    `FatMonoGammaTxn` | `takeFatMono()` | Takes a FatMonoGammaTxn from the pool.
    `LeanFixedLengthGammaTxn` | `takeLeanFixedLength()` | Takes a FatArrayGammaTxn from the pool.
    `LeanMonoGammaTxn` | `takeLeanMono()` | Takes a FatMonoGammaTxn from the pool.
    `FatVariableLengthGammaTxn` | `takeMap()` | Takes a FatArrayTreeGammaTxn from the pool.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### GammaTxnPool

          public GammaTxnPool()

  - ### Method Detail

    - #### takeFatMono

          public FatMonoGammaTxn takeFatMono()

      Takes a FatMonoGammaTxn from the pool.
      Returns:
        the taken FatMonoGammaTxn or null of none available.

    - #### takeFatFixedLength

          public FatFixedLengthGammaTxn takeFatFixedLength()

      Takes a FatArrayGammaTxn from the pool.
      Returns:
        the taken FatArrayGammaTxn or null of none available.

    - #### takeLeanMono

          public LeanMonoGammaTxn takeLeanMono()

      Takes a FatMonoGammaTxn from the pool.
      Returns:
        the taken FatMonoGammaTxn or null of none available.

    - #### takeLeanFixedLength

          public LeanFixedLengthGammaTxn takeLeanFixedLength()

      Takes a FatArrayGammaTxn from the pool.
      Returns:
        the taken FatArrayGammaTxn or null of none available.

    - #### takeMap

          public FatVariableLengthGammaTxn takeMap()

      Takes a FatArrayTreeGammaTxn from the pool.
      Returns:
        the taken FatArrayTreeGammaTxn or null of none available.

    - #### put

          public void put​(GammaTxn tx)

      Puts a GammaTxn in the pool.
      Parameters:
        `tx` - the GammaTxn to put in the pool.
      Throws:
        `NullPointerException` - if tx is null.