Toolverse
Wszystkie skille

async-io-model

autor: tursodatabase

Wzorce asynchroniczne dla Turso — IOResult, maszyny stanów i CompletionGroup do bezpiecznej obsługi operacji I/O.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend

O skillu

Skill Claude'a wyjaśniający asynchroniczne wzorce używane w Turso. Zamiast async/await Rust, Turso stosuje jawne maszyny stanów ze współbieżnym yieldem. Nauczysz się pracować z IOResult (enum zwracający Done lub IO), Completion (śledzenie pojedynczych operacji I/O) i CompletionGroup (agregacja wielu operacji). Skill obejmuje makra pomocnicze return_if_io! i io_yield_one!, obsługę re-entrancy oraz zagnieżdżanie grup completionów. Stosuj te wzorce zawsze, gdy piszesz kod I/O w core Turso.

Jak używać

  1. Zainstaluj skill async-io-model z repozytorium tursodatabase w swoim środowisku Claude'a lub Copilota — skill zawiera dokumentację wzorców asynchronicznych używanych w Turso.
  2. Zapoznaj się z typami IOResult i Completion — IOResult zwraca Done(T) gdy operacja się skończy lub IO(IOCompletions) gdy trzeba czekać na I/O, a Completion śledzi stan pojedynczej operacji I/O z metodami finished(), succeeded() i get_error().
  3. Używaj CompletionGroup do agregacji wielu operacji I/O — utwórz grupę, dodaj do niej completiony za pomocą add(), zbuduj połączoną operację metodą build() i yieldzuj ją makrem io_yield_one!().
  4. Stosuj makro return_if_io!() w funkcjach zwracających IOResult — automatycznie rozpropaguje wariant IO w górę stosu wywołań i pozwoli ci pracować tylko z Done.
  5. Strukturyzuj operacje I/O jako jawne maszyny stanów — definiuj enum dla stanów operacji i wielokrotnie wywoływaj funkcję aż zwróci Done zamiast IO.
  6. Pamiętaj o możliwości zagnieżdżania grup — możesz dodać completion z jednej grupy do drugiej grupy, oraz anulować grupy metodą cancel() jeśli trzeba przerwać operacje.

Podobne skille