kw net
Контекстное слово — список эффектов после возвращаемого типа (§6.2)
Список слов: §1.4
Синтаксис
Effect = "io" | "net" | "db" | "time" | "rand" | Ident ;Грамматика: Прил. A
Определяется в
- 18.4 Симуляция — В sim детерминированы планировщик, сеть, часы, случайность и отказы диска; результат зависит только от seed.
- 10.2 Атрибуты rpc — Значения по умолчанию для всех rpc задаются в cluster { defaults { …
- 6.2 Эффекты — Набор эффектов пишется после возвращаемого типа через запятую
- 11.2 Транзакция базы данных — Тело выполняется в транзакции базы db.
- 1.4 Ключевые слова — Зарезервированные (нельзя использовать как имена)
- 15.1 comptime — comptime fn выполняется только при компиляции; comptime { …
- 4.3 Конструирование и конструкторы — Литерал. T{ f1: e1, f2, ..base }
- 6.5 Ошибки — Исключений нет. Ошибка — значение типа, помеченного @error, возвращаемое через объединение.
Примеры
test sim "checkout under faults" seeds 1..=500 {
net.partition(["api"], ["storage"], for: 2s)
net.latency(10ms..300ms)
node.kill("saga-0") after 1s
clock.advance(1h)
assert checkout(cart) is Order | PayError
}@explicit interface Middleware { fn around(ctx: &var Ctx, next: Next) -> Response net, io, time, db }Связанные диагностики
attribute-not-applicable, cache-not-readonly, invalid-window, retry-not-idempotent, rpc-attr, effects, atomic-db-effects, cross-shard-tx, comptime-error, not-comptime, bad-init, missing-field, must-close, positional-literal