Alexander
Сорян, уже запутался , это в одном примере такое видел.
Anton
Визитор — обычно просто набор методов под разные входные типы
Alexander
Пытаюсь вникнуть как его минимальным сделать в моём случае.
Alexander
И уже готов отказаться от там зоны, лишь бы не сейчас не обрабатывать. Пусть будет utc :)
Alexander
И чтобы положить несколько байт я должен не только понять визитор, но ещё и разобраться зачем тут нужна структура с полем в котором находится _фантомная_ _лямбда_ какая-то?!? Ох, серьёзно что ли.
Денис
меня тоже десериализатор угнетает :( но я не уверен, что можно сделать проще
Alexander
Ну был бы какой-нить serde-beginners, где тебе не нужны разные варианты, а просто фиксированный тип и количество байт или типа того. Parse по сути.
Alexander
Похоже без рисования того как серде это делает внутри себя - просветления не будет. Чтоб сделать это для структуры - надо писать один визитор, который дёргает другой де, который дёргает уже свой другой визитор.
Маjко
А зачем ты сам реализуешь Serialize/Deserialize, напомни?
Alexander
Потому что chrone это делает через строку, что не только много памяти жрёт, но и тормозит жутко.
Маjко
Хочешь законтрибутить?
Alexander
Хочешь законтрибутить?
Ну в данный момент нет, так как это должно выглядеть в связке всех этих крейтов я не очень понимаю. В идеале я бы конечно рад, но в данный момент я далёк от этого понимания. В bincode вроде подобных сериализаторов на другие крейты нет.
Alexander
Наверное это логично делать как дополнение для chrono, но тоже как-то не супер выглядит.
Маjко
Из стороннего крейта ты можешь только newtype-обертку сделать без доступа к приватным полям
Alexander
И я все ещё в глубине души надеюсь что сейчас найду какой-то макрос или хинт, для которого мне нужно будет написать одну функцию - получить тип и вернуть байты например.
Alexander
Даже если на сайт serde.rs зайти то с ходу написано, что написано для очень быстрой и очень эффективной сериализации :)
Маjко
Это не значит что ее легко и быстро реализовывать
Alexander
Читаю скрестив пальцы https://serde.rs/remote-derive.html
Alexander
Не совсем прямо то, скорее даже как тут говорили - преобразование в свою структуру, но раз они сами предлагают, может это лучше чем мучать визитор.
Anonymous
Доброе утро
Alexander
Кому доброе, а у кого сериализация :)
Anonymous
А у меня семестровая+диплом хД
Андрей
Кому доброе, а у кого сериализация :)
В расте плохо с сериализацией?
Alexander
Я уже приблизительно две недели на нём пишу, и мне всё хуже и хуже.
Андрей
кто-нибудь с radius протоколом работал ?
Anonymous
всем привет
Anonymous
кто подскажет есть ли годные курсы по rust?
Anonymous
или ссылки на читабельные ресурсы, хорошие из букмарков ваших :)
Filipp
если можешь в английский - читай официальную книгу, там все здрово расписано, далее в зависимости от того чего ты хочешь добиться
Anonymous
ясно, спасибо
Kerrigan
можешь на русском - читай перевод
Evgεny
Есть какие-нибудь хорошие источники по p2p типа о dht и пробивании nat и вдруг мало ли на расте? Есть какая-то там либа но вдруг ещё и хорошо собрана теория за ней
Kerrigan
stun + turn обычно решают большую часть проблем, читать rfc протокола
Kerrigan
Что есть "сервис"?
сервис это когда ты централизованно следишь чтобы всё работало
Kerrigan
Не, хочу без серверов
ну сорь, полностью пробить всех-ко-всем без сервера нельзя
Saphire
...только его еще надо найти, и как-то про него информацию передать. А это сервер надо.
Evgεny
А, мне короче нужно что-то вроде битторрента, видимо
Saphire
Там тоже тебе всё равно надо хотя бы одного другого клиента знать.
Saphire
Через него уже идёт информация о других, и так далее.
Saphire
В любой P2P сети тебе всегда потребуется как минимум один известный клиент с которого уже можно узнать других. Будь то постоянный сервер или кто-то в локалке.
Evgεny
Но далее данные уже не обязательно идут через него?
Денис
как реализуешь протокол, так и будет
Saphire
Но далее данные уже не обязательно идут через него?
Неа. Но тебе всё равно надо как-то получить информацию о других членах сети.
Маjко
Как уже тут обсуждали, можно теоретически сканить сеть
Saphire
Все 2^32 аддресов?
Cuno
Все 2^32 аддресов?
Это не так уж и долго
Маjко
Ага
Evgεny
потом провайдер блочит и требует писменное заявление
Evgεny
трусторе
big
сори пропустил момент когда это стало незаконно
big
напомните плез
Evgεny
я как-то тоже, у него свои правила были
Денис
если сканить по тысячу адресов в секунду, то всего за 50 дней управишься
Денис
норм тема)
պլհկ
https://github.com/robertdavidgraham/masscan
պլհկ
палю
Денис
миллион пакетов в секунду, конечно
Денис
минимальный размер tcp пакета — 64 байта
Денис
у кого канал толще 12 метров в секунду? :)
Денис
а, там десять миллионов в секунду
Денис
то есть нужен канал 640 мегабайт в секунду
John
Денис
естественно )
Денис
всё время забываю об этом)
Kerrigan
на впске не запускайте только
պլհկ
10G впска?
Kerrigan
нет, просто они любят ебать мозги за использование nmap и прочего
Сергей
в p2p кмк нет задачи проскаить всю сеть или весь интернет
Сергей
только один порт или в крайнем случае диапазон портов
Сергей
tcp/udp порт
Saphire
Не какой, а у чего порт
Сергей
если ты не знаешь порт, то где гарантия, что порт, который ты нашёл - твой?