Vasily
Можно на атрибутах говнякать, но это такое себе
Vasily
В общем, основная тема- это написать преобразование 'a->'metadata и 'metadata->;a
Vasily
Второе преобразование требует пустого рекорда, например
Vasily
Т.е. у меня функция вида 'a->'metadata_part->'a
Vasily
Еще в нелегком деле десериализации помогает ArraySegment
Vasily
ДЛя того, чтобы не плодить алокации сверх необходимого
Hog
Klei
А либ под это дело не завезли? Пытался осознать как работает FsPickler, но он не так прост, чтобы ворваться в него со своим сериализатором. К тому же он зачем-то крутится вокруг System.IO.Stream, соответсвенно пропадает необходимый мне этап с иммутабельными результатами сериализации.
Vasily
Сейчас схема такая - отдельный async под чтение байт из потока, которые прокидываются в мейлбокс, собирающий сообщения, откуда файрится сообщение постпроцессинга , ну и в конце набор эвентнов
Vasily
Либ лично я не видел
Vasily
FsPickler работает по тому же принципу, но это скорее будет из пушки по воробьям
Vasily
Ну и главное - максимально абстрагировать сериализацию/десериализацию от способа чтения/записи
Klei
Vasily
Чтобы было пофиг, в какой канал писать/откуда читать
Vasily
Vasily
Он будет крутиться в отдельной андроидовской активити
Klei
Пока что у мя сериализация на выход дает список слов, а десериализация на входе ожидает функцию чтения n слов (ясное дело оборачивается в прорву хелперов). Хз, что будет, когда я дойду собственно до чтения гигов.
Klei
Хотелось бы как-то на комбинаторах построить десериализацию списка, чтобы еще в статике сразу получать длину и т.п.
Klei
И вроде как знаю даже, как сие сделать, но есть неиллюзорная вероятность, что будет лажа.
Vasily
Канал передачи tcp?
Klei
Нет. Вообще не инет.
Vasily
Описание протокола есть?
Vasily
Там по идее длина сообщения должна быть
Klei
Да. Есть.
Klei
Только это к чему?
Vasily
Ну длина есть, значит есть массив байт целиковый
Vasily
С ним уже можно делать что угодно
Klei
Ну да. Но в данный момент я пишу тесты. на то что сообщение в результате имеет объем слов указанный в доках. А хотелось бы, чтобы глядя на типы, можно было сказать, что эта хрень займет столько слов, и ни шагу в сторону.
Vasily
Что ты имеешь в виду под словом?
Klei
word.
Klei
Ну uin16.
Klei
А, еще напрягают составные слова. Когда столько-то бит для этого идентификатора, еще битик для флага, потом еще какая-то хрень и т.д.
Klei
Вот как это в типах нормально представлять, хрен пойми.
Vasily
Klei
Безусловно они у меня пишутся не в основном потоке.
Klei
Там уже только функции приводящае к ворду или обратно.
Vasily
Итак, у тебя есть поток, который читает/пишет байты
Vasily
Плюс есть некая надстройка над потоком, которая эти байты должна преобразовывать в правильные структуры данных
Klei
Стоять.
Vasily
Стою
Klei
Под потоком я не подразумевал stream/thread. Я имел ввиду, что это просто другой ряд абстракций и т.п.
Vasily
Тогда я тебя не совсем понимаю
Vasily
Например, того, к чему хочешь прийти
Vasily
И откуда
Klei
Учитывая объем задач, скорее всего я смогу нормально сформулировать что я хочу, лишь после окончания контракта. Но натрахаться успею.
Klei
Пока есть лишь ощущение, что все какое-то небезопасное, ну или как минимум неправильное.
Vasily
1. Я не понял, при чем тут int16. Подозреваю, что это поток байт с какой-то железки
Vasily
С моей точки зрения int16 уже более высокоуровневая абстракция, хотя, например, в некоторых протоколах передачи данных типа Манчестер, если мне память не изменяет, как раз все и меряется машинным словом
Klei
uint16 если быть точным.
Vasily
Важна размерность
Klei
На низовом уровне, у мя байты, но вверх я передаю uin16.
Vasily
Vasily
Или верхним уровнем не ты управляешь?
Klei
Зачем там байты?
Vasily
Значит, у тебя появляется еще один уровень преобразования byte[]->unit16[]
Vasily
А потом ты хочешь uint16[] в part list, как я понимаю, некоторый
Klei
Такс, судя по part, у тебя сценарий предполагает непрерываное получение условно однотипных блоков.
Klei
У мя пока (надеюсь так и будет далее) железка лишь отвечает на запросы/команды.
Klei
Т.е. ситуация значительно проще, что приводит к тому, что я начинаю вы*бываться.
Vasily
Т.е. ты даешь запрос и получаешь ответ, так?
Klei
Лан, в моем часовом поясе надо спать. Попробую обмозговать происходящее, чтобы выдать все это в ряде мелких задач.
Klei
Vasily
Давай , спокойной
Roman
Roman
Вчера бабушку навестил перед переездом
Roman
А у неё клубника цветёт уже
Roman
Roman
Ток я не сфоткал чёт(
Roman
Анна
Крылатый
@AnutaU
Крылатый
@Dolfik жги
Крылатый
Спрасибо.
Анна
откуда их столько лезет
Nikolay
Опередила
Анна
Это не я
Крылатый
Палюбому Форнёвер!
Igor
Есть тут владельцы Surface Go?