/
githubmirror
/
skopeo
Обзор
Документация
Войти
/
githubmirror
/
skopeo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
vendor/github.com/json-iterator/go/pool.go
42 строки
956 B
dependabot[bot]
Bump github.com/containers/common from 0.38.0 to 0.38.1
13 май 2021, 11:17
Не верифицирован
13 май 2021, 11:17
68f188a
Код
Авторство
О чём код?
package jsoniter import ( "io" ) // IteratorPool a thread safe pool of iterators with same configuration type IteratorPool interface { BorrowIterator(data []byte) *Iterator ReturnIterator(iter *Iterator) } // StreamPool a thread safe pool of streams with same configuration type StreamPool interface { BorrowStream(writer io.Writer) *Stream ReturnStream(stream *Stream) } func (cfg *frozenConfig) BorrowStream(writer io.Writer) *Stream { stream := cfg.streamPool.Get().(*Stream) stream.Reset(writer) return stream } func (cfg *frozenConfig) ReturnStream(stream *Stream) { stream.out = nil stream.Error = nil stream.Attachment = nil cfg.streamPool.Put(stream) } func (cfg *frozenConfig) BorrowIterator(data []byte) *Iterator { iter := cfg.iteratorPool.Get().(*Iterator) iter.ResetBytes(data) return iter } func (cfg *frozenConfig) ReturnIterator(iter *Iterator) { iter.Error = nil iter.Attachment = nil cfg.iteratorPool.Put(iter) }