> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Interface: ResultRetention<Read, Write>

> Retain an exact reference for one immutable holder generation and deadline.

[server](https://docs.bijection.com/api/modules/server).ResultRetention

Retain an exact reference for one immutable holder generation and deadline.
Identical active acquisitions are idempotent. A changed deadline or an ended
generation requires a new holder; release and expiry cannot reopen it. Keep
sufficient terminal identity until the owner's admission boundary bars replay.
Current read authority and physical cleanup remain the resource owner's work.

## Type parameters

| Name | Type |
| :- | :- |
| `Read` | [`Q`](https://docs.bijection.com/api/modules/server#q) |
| `Write` | [`M`](https://docs.bijection.com/api/modules/server#m) |

## Properties

### preparation

• **preparation**: \{ `kind`: `"unsupported"`  } | \{ `kind`: `"supported"` ; `abandon`: (`ctx`: `Write`, `preparation`: [`PreparationRef`](https://docs.bijection.com/api/modules/server#preparationref)) => `Promise`\<`void`>  }

## Methods

### acquire

▸ **acquire**(`ctx`, `result`, `demand`): `Promise`\<[`CustodyOutcome`](https://docs.bijection.com/api/modules/server#custodyoutcome)>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | `Write` |
| `result` | [`ResultRef`](https://docs.bijection.com/api/modules/computations#resultref)\<`any`> |
| `demand` | [`RetentionDemand`](https://docs.bijection.com/api/modules/server#retentiondemand) |

#### Returns

`Promise`\<[`CustodyOutcome`](https://docs.bijection.com/api/modules/server#custodyoutcome)>

***

### check

▸ **check**(`ctx`, `claim`): `Promise`\<[`InputAssessment`](https://docs.bijection.com/api/modules/computations#inputassessment)>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | `Read` |
| `claim` | [`ResultClaim`](https://docs.bijection.com/api/modules/server#resultclaim) |

#### Returns

`Promise`\<[`InputAssessment`](https://docs.bijection.com/api/modules/computations#inputassessment)>

***

### release

▸ **release**(`ctx`, `claim`): `Promise`\<`void`>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | `Write` |
| `claim` | [`ResultClaim`](https://docs.bijection.com/api/modules/server#resultclaim) |

#### Returns

`Promise`\<`void`>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.