Update header counters in-place.
(self, occupied_delta=0, deleted_delta=0, new_hwm=None)
| 932 | return occupied, deleted, hwm |
| 933 | |
| 934 | def _update_header(self, occupied_delta=0, deleted_delta=0, new_hwm=None): |
| 935 | """Update header counters in-place.""" |
| 936 | occupied, deleted, hwm = self._read_header() |
| 937 | occupied = max(0, occupied + occupied_delta) |
| 938 | deleted = max(0, deleted + deleted_delta) |
| 939 | if new_hwm is not None and new_hwm > hwm: |
| 940 | hwm = new_hwm |
| 941 | struct.pack_into(_OFFSET_FMT, self._mm, _HDR_OCCUPIED_OFF, occupied) |
| 942 | struct.pack_into(_OFFSET_FMT, self._mm, _HDR_DELETED_OFF, deleted) |
| 943 | struct.pack_into(_OFFSET_FMT, self._mm, _HDR_HWM_OFF, hwm) |
| 944 | |
| 945 | # ------------------------------------------------------------------ |
| 946 | # Slot field accessors (data slots only) |
no test coverage detected