---
title: Gap
description: A byte range that is gone for good — the replay ring evicted it, or this subscriber lagged the live channel.
---

```python
@final
class Gap
```

A byte range that is gone for good — the replay ring evicted it, or this subscriber
lagged the live channel.

A typed event rather than a log line, because the alternative is reading a truncated
log as a complete one. `start` is inclusive and `end` exclusive, so `end` is where a
cursor resumes.

## Constructor

`Gap` declares no `__new__` or `__init__`, so it is not constructed directly: an instance comes back from another call in this package.

## Properties

### `end`

```python
end: int
```

### `kind`

```python
kind: str
```

### `size`

```python
size: int
```

### `start`

```python
start: int
```

## Special methods

### `__repr__`

```python
def __repr__() -> str
```

## Provenance

This page is generated from `bindings/microvms-py/microvms.pyi` by Griffe 2.3.0, run from `site/scripts/gen-reference.mjs` on every `pnpm run sync`, so an edit made here is overwritten by the next run.

To change the page, change the doc comment in the binding's Rust source, then regenerate the declarations with `mise run stubs`. `mise run stubs:check` fails when the committed file no longer matches the source.