Вот мой предыдущий вопрос: Отправлять данные из InputStream через поток Akka/Spring< /а>
Мне удалось отправить сжатый и зашифрованный файл через поток Akka. Теперь я ищу способ транспортировки метаданных вместе с данными, в основном с именем файла и хэшем (контрольной суммой).
Моя текущая идея состоит в том, чтобы использовать функцию Flow.prepend и вставлять метаданные перед данными следующим образом:
имя файла, которое может различаться по размеру, но всегда заканчивается нулевым байтом
хэш фиксированного размера (контрольная сумма)
данные
Затем, на приемной стороне, мне пришлось бы дважды использовать Flow.takeWhile - один раз для чтения имени файла и второй раз для чтения хэша, а затем просто читать данные. Это не очень похоже на элегантное решение, плюс, если в будущем я захочу добавить больше метаданных, это станет еще хуже.
Я заметил метод Flow.named, однако в документации сказано только:
Add a ``name`` attribute to this Flow.
и я не знаю, как это использовать (и можно ли через него передать имя файла).
Вопрос: есть ли лучшая идея для передачи метаданных вместе с данными через поток Akka, чем указано выше?
РЕДАКТИРОВАТЬ: Прикрепление моего рисунка с идеей. .com/R7g49.png" alt="идея">а>