Почему метод чтения / чтения Sink от okio использует метод Buffer? - PullRequest
0 голосов
/ 12 февраля 2019

Я перечитывал определения интерфейса для okio и пытаюсь кое-что понять с тем, как Sink, Source и Buffer связаны между собой.Sink определяет запись как fun write(buffer: Buffer), а Source определяет чтение как fun read(buffer: Buffer) (я опускаю некоторые определения функции для краткости)

Я пытаюсь понять, почему Sink неопределить запись как fun write(sink: Sink) Аналогично для источника.Я вижу, что Buffer реализует оба, но зачем использовать Buffer в обоих местах?Было ли это для упрощения других реализаций Sink / Source, позволяя им иметь доступ к удобным методам, которые предоставляет Buffer?

...