Loo
kitsu
С него и начал, да
kitsu
В тамошнем трейте я увидел только Request в параметрах
Loo
С него и начал, да
ну так там обработка запросов через имплементацию трэйта Service происходит, следовательно - та структура для которой ты заимплементишь Service и будет хранить в полях состояние твоего сервиса
kitsu
Ссылка то передается иммутабельная, больно
kitsu
не логично конечно, но неудобно
Anton
Таки ящики потиху перескакивают на failure с error-chain
Loo
Ссылка то передается иммутабельная, больно
ну ты и в рокете мутекс заюзал потому что там видимо тоже иммутабельный хэндлер на твой контекст передаётся, а всё потому что и там и там оно раскидывается на несколько тредов по желанию - следовательно без примитивов синхронизации никак если собираешься мьютить состояние
Loo
Loo
https://docs.rs/ggez/0.4.0/ggez/graphics/fn.circle.html
Loo
обновил на днях ггез, появился параметр tolerance
Loo
при значении 1.0
Loo
рисует вот такое гавно, хотя у пацанов в экземплах круги
Loo
плюс ggez radius != ncollide geometry radius, поэтому при рисовании круга с радиусом в 25.0, приходится созадвать физический круг с радиусом 1.25
Loo
я не помню если честно нихуя из геометрии почти и из того как рендерится граф и если кто то уже разбирался и может просвятить меня по поводу радиусов - буду благодарен
Bugworm
I have been using Go for a while. The community and breadth of libraries out there is amazing. I want to like Rust. Help me. - https://www.reddit.com/r/rust/comments/7yjz3o/i_have_been_using_go_for_a_while_the_community/
Kerrigan
вижу на расте реализацию STUN, но не вижу реализации TURN
kitsu
Loo
kitsu
Ну там на каждый реквест либо меняют стейт, либо читают из него
kitsu
онж асинхронный, вполне реально дважды записать; или читать-писать +\- одновременно
Loo
не совсем понимаю о чём ты, вот дока
Loo
https://api.rocket.rs/rocket/struct.State.html
Loo
> The type being managed must be thread safe and sendable across thread boundaries. In other words, it must implement Send + Sync + 'static.
Loo
kitsu
Loo
мм, меняет дело, да
ну это я к тому что у тебя хипере было бы тоже самое, тот же non-mutable доступ полям структуры для которого заимплеменчен Service, тот же Mutex для синхронизации доступа.
вот здесь ты и делаешь мьютбл: https://github.com/l4l/whos-online/blob/5e53b5ffc2c1175f732dfdf83fcebc4ab33536d0/src/whosc.rs#L21
kitsu
мм, да, догоняю
kitsu
Надо бы покопаться еще с примитивами синхронизации
Loo
плюс вопрос - если у тебя не во всех хэндлерах нужен мьютбл доступ нужен
Loo
то почему не заюзать RwLock
Loo
?
kitsu
kitsu
Loo
Кстати, почему не асинхронный?
ну с точки зрения внутренностей он юзает hyper 0.10.11, с точки зрения апи - он не выкидывает тебе футуру в хэндл которая возвращает запрос - следовательно чейнить другие футуры с обработчиком запроса ты не можешь
Loo
плюс если хочешь большего чем RwLock - есть RcuLock который как вроде как wait free для ридеров: https://docs.rs/rculock/0.1.2/rculock/
Loo
https://github.com/tversteeg/castle-game
Loo
https://github.com/tversteeg/castle-game/raw/master/img/screengrab.gif?raw=true
Kerrigan
надо форкнуть и туда спрайты сусликов и крабов добавить
Kerrigan
а вообще
> code of conduct
Anton
тут писали про сложность вебрендера
Anton
ну вообще на самом деле вебрендер делает за тебя 90% работы
Anton
и очень хорошо обвязан при этом различными вспомогательными инструментами
Anton
просто проблема в том что нет документации архитектурной как это все работает и сначала долго очень вдупляешь
Anton
на самом деле все сводится всегда к позиции:
- создаешь базовый контекст с документ холстом
- создаешь билдер инстанс с параметрами рисовалки (билдер кстати простой до безумия)
- в каждый новый слой назначаешь айдишники
- создаешь транзакцию к рендеру, прикрепляешь к нему айдишник рут контекста относительно которого нужно провести перерисовку, и готовый инстанс билдера
- отправляешь транзацию
- PROFIT!
Anton
Проблема начинаются больше в тот момент когда тебе нужно комуницировать с своими собственными управляемыми узлами, и делать для них обвязки, собственно свой гуй тулкит на базе вебрендера сводится к созданию своего вменяемого эвент менеджера, и его работы с компонентами, а также управление моментом когда нужно провести перерисовку и относительно какого контекста
Anton
собственно с этим я сейчас и ебусь
Anton
у limn хороший ивент менеджер и базовые абстракции работы с ресурсами и виджетами. Но у limn очень костыльные абстракции работы с лайаутом и стилями которые прибиты гвоздями, и базируются на конской залупе - а именно constraint layout
Anton
я же строю свой лайаут поверх yoga, и стилевые абстракции строю по методу очередей которые на уровне компиляции работают с картами enum, а на уровне отладки работают на очередях сообщений для манипуляции с атрибутами и стилями, чтобы например можно было просто отлаживать и менять определенные параметры в рантайме
Anton
короч со всем можно разобратся, если достаточно заебатся
Маjко
Мы тебя вроде в rustjerk выгнали
Маjко
:D
Anton
а я в тему не могу про архитектуру вебрендера написать
Anton
наглость
Маjко
злость
Маjко
огорчение
Anton
до
Kerrigan
торг
Kerrigan
принятие
stalkerg
Anton
а есть на гитхабе?
хуй там, я уже 2 месяца пытаюсь миксовать выживание с кучей проектов и попытками изучать как написать свой тулкит и эксперементами с онным
stalkerg
глянул limn - мне понравилось в том числе констрейны
stalkerg
вроде очень привычный подход
Anton
Делать надо с заточкой под веб разрабов
Anton
Этим взял rn
Anton
Констрейты в этом плане непонятная людям хуета
Anton
А нужна совместимость с CSS и простая гибкая верстка
Anton
В этом плане флексы в рот накидают констрейтам
Anton
Зачем ебать себе мозг что к чему привязывать относительно, когда есть почти всемогущий флексбокс, и сотни тыщ туториалов по нему в вебе?
Anton
К тому же я делаю расчет на то что потом сделаю байдинги к петончеку и жс
Anton
И там в основном вебовцы
Anton
А констрейты это ближе к мобайл хуеплетам и то не всем, и самозалупные стили придуманные limn на макросах во первых нихуя не удобные, во вторых нихуя не портируемые
Anton
Воть
Safort
Aleksey
Тащемта самый удобный подход я видел в qml, там есть лейауты, а есть якоря и куча возможностей динамически и с анимациями их перещелкивать.
Loo
Loo
“Sorting in Rust: Selection, Insertion, and Counting Sort” @spyr1014 https://medium.com/@spyr1014/sorting-in-rust-selection-insertion-and-counting-sort-2c4d3575e364