Почему метод чтения / чтения Sink от okio использует метод Buffer?

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

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

0 ответов

Другие вопросы по тегам