Alexander
Сорян, уже запутался , это в одном примере такое видел.
Anton
Визитор — обычно просто набор методов под разные входные типы
Alexander
Пытаюсь вникнуть как его минимальным сделать в моём случае.
Alexander
И уже готов отказаться от там зоны, лишь бы не сейчас не обрабатывать. Пусть будет utc :)
Alexander
И чтобы положить несколько байт я должен не только понять визитор, но ещё и разобраться зачем тут нужна структура с полем в котором находится _фантомная_ _лямбда_ какая-то?!? Ох, серьёзно что ли.
Денис
меня тоже десериализатор угнетает :( но я не уверен, что можно сделать проще
Alexander
Ну был бы какой-нить serde-beginners, где тебе не нужны разные варианты, а просто фиксированный тип и количество байт или типа того. Parse по сути.
Alexander
Похоже без рисования того как серде это делает внутри себя - просветления не будет. Чтоб сделать это для структуры - надо писать один визитор, который дёргает другой де, который дёргает уже свой другой визитор.
Маjко
Ма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
Я уже приблизительно две недели на нём пишу, и мне всё хуже и хуже.
kitsu
Αλεχ
Андрей
кто-нибудь с radius протоколом работал ?
Anonymous
всем привет
Anonymous
кто подскажет есть ли годные курсы по rust?
Anonymous
или ссылки на читабельные ресурсы, хорошие из букмарков ваших :)
Filipp
если можешь в английский - читай официальную книгу, там все здрово расписано, далее в зависимости от того чего ты хочешь добиться
Anonymous
ясно, спасибо
Kerrigan
можешь на русском - читай перевод
Evgεny
Есть какие-нибудь хорошие источники по p2p типа о dht и пробивании nat и вдруг мало ли на расте? Есть какая-то там либа но вдруг ещё и хорошо собрана теория за ней
Kerrigan
Kerrigan
stun + turn обычно решают большую часть проблем, читать rfc протокола
Evgεny
Evgεny
Saphire
Saphire
...только его еще надо найти, и как-то про него информацию передать. А это сервер надо.
Evgεny
А, мне короче нужно что-то вроде битторрента, видимо
Saphire
Там тоже тебе всё равно надо хотя бы одного другого клиента знать.
Saphire
Через него уже идёт информация о других, и так далее.
Saphire
В любой P2P сети тебе всегда потребуется как минимум один известный клиент с которого уже можно узнать других. Будь то постоянный сервер или кто-то в локалке.
Evgεny
Но далее данные уже не обязательно идут через него?
Денис
как реализуешь протокол, так и будет
Маjко
Как уже тут обсуждали, можно теоретически сканить сеть
Saphire
Все 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 кмк нет задачи проскаить всю сеть или весь интернет
Сергей
только один порт или в крайнем случае диапазон портов
Saphire
Сергей
tcp/udp порт
Saphire
Не какой, а у чего порт
Сергей
если ты не знаешь порт, то где гарантия, что порт, который ты нашёл - твой?