# Function: createReconciler()

```ts
function createReconciler(set, options): object;
```

Defined in: [packages/core/src/sync/negentropy.ts:240](https://github.com/leifriksheim/minca/blob/main/core/src/sync/negentropy.ts#L240)

One side of one reconciliation.

## Parameters

| Parameter | Type |
| ------ | ------ |
| `set` | [`ItemSet`](https://minca.dev/api/core/classes/ItemSet.md) |
| `options` | \{ `frameSizeLimit?`: `number`; `initiator`: `boolean`; \} |
| `options.frameSizeLimit?` | `number` |
| `options.initiator` | `boolean` |

## Returns

### initiate()

```ts
initiate(): Promise<Uint8Array<ArrayBufferLike>>;
```

The first message: the whole set, split into ranges. Initiator only.

#### Returns

`Promise`\<`Uint8Array`\<`ArrayBufferLike`\>\>

### reconcile()

```ts
reconcile(message): Promise<Round>;
```

Takes the other side's message and works out the answer.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `message` | `Uint8Array` |

#### Returns

`Promise`\<[`Round`](https://minca.dev/api/core/interfaces/Round.md)\>
