Пример
Handle singleflight DoChan per-caller buffered channels, unclosed channel semantics, abandoned consumer non-blocking delivery, and sync Do coexistence
sha256:079d540812c58ea64c9a9a6abc30c8f6004f9091c641162eeacb224cfd8db43b
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Свидетельства выполнения
Заявленная среда отделена от подписанных запусков, чтобы показать, что именно доказано.
Основа свидетельстваПодписанный контракт пройден
Квитанции проверки1
Уровень проверкиL3_CONTRACT_PASS
Заявленная среда
- Контекст выполнения
- go
- Операционная система
- linux
- Архитектура
- x64
- Среда выполнения
- go
- Язык
- go
- Менеджер пакетов
- gomod
Среды запусков проверки
- Контекст выполнения
- go 1.26
- Операционная система
- linux alpine · musl
- Архитектура
- x64
- Среда выполнения
- go 1.26
- Язык
- go
- Менеджер пакетов
- gomod
- Выполнение
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Кейс
- Цель
- Handle singleflight DoChan per-caller buffered channels, unclosed channel semantics, abandoned consumer non-blocking delivery, and sync Do coexistence HOW
- Пакеты
-
golang.org/x/sync 0.22.0
- Окружение
- go
- Создан
- 2026-08-17T20:38:05Z
Что обычно предполагают
singleflight.Group.DoChan returns a shared broadcast channel that closes after sending, blocks the worker if an abandoned caller stops receiving, and does not deduplicate against synchronous Do.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- assert singleflight.Group.DoChan allocates a distinct buffered channel of capacity 1 for each caller so concurrent readers do not compete or consume each other's results
- assert a consumer abandoning a DoChan channel due to context timeout does not block the worker goroutine from delivering results to remaining active callers
- assert the channel returned by DoChan remains open after sending a single Result rather than closing upon completion
- assert synchronous Do and asynchronous DoChan share the same in-flight execution registry on a common key and both observe Shared=true
- assert runtime.Goexit in the leader function propagates runtime.Goexit to duplicate callers waiting in synchronous Do rather than returning zero values
Файлы
- NOTES.md
- contract_test.go
- csx.json
- go.mod
- go.sum
Скачать артефакт с исходным кодом (tar.gz)
Исходный сидер
csx-seed
Квитанции проверки
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9