TGViewer
Чайник из Юты Чайник из Юты @irrationalthings · 121 subscribers
Post #268 109
Ещё и раньше у меня таски лежали просто в динамическом массиве. Ну, обёртка (источник ивентов, пока что - epoll) спавнила новую таску, а я возвращал её индекс, которым и оперировал в дальнейшем. Когда я начал складывать таски в пул, то оказалось проще отдавать указатель. Единственная проблема - индексом таски являлся int64, чтобы отрицательные значения себе загребала обёртка, дабы, например, идентифицировать серверные сокеты, и принимать самостоятельно подключения из них. Если я буду возвращать указатель, то я так сделать не смогу. Самое интуитивное решение - вынести эту логику в ивентлуп, и добавить специальный стейт ACCEPT, как я и сделал.

Но тут я понял, что если взаимодействие с сокетами у меня абстрагировано, то приём подключений - нихуя, а это тоже важно. А добавлять ещё один метод в интерфейс net клиента не хотелось - и без того структурка тяжелая, а тут ещё и метод, который будет использован только на паре сокетов. Поэтому делаем отдельный интерфейс для приёма подключений. Полез имплементировать в tcp. Вижу, надо аллоцировать tcp клиента, чтобы обернуть его в интерфейс. Понимаю - вот тут-то я и в жопе.

Пока идея - склеить интерфейс с имплементацией. Оставить в самом интерфейсе место свободное, куда я могу своё говно положить. Другой вопрос - а сколько именно-то надо? У меня уже сейчас как минимум две реализации (заглушка для тестов, и непосредственно tcp), а потом ещё и tls к этому делу прибавится. Подумываю, нарушить немного несвязанность, и захуярить в интерфейсе union со всеми известными имплементациями вместо void* окружения. Да, должно быть неплохо
More from @irrationalthings
  1. Sep 21, 2026я хрюкнул
  2. Sep 21, 2026гемини
  3. Sep 15, 2026Тот факт, что между нейронками и компрессорами больше общего, чем может показаться - забав…
  4. Sep 15, 2026"Low-Resource" Text Classification: A Parameter-Free Classification Method with Compressor…
  5. Sep 15, 2026Конечно, они сравнивали со средненькими классифицирующими моделями. Там есть пространство…
  6. Sep 15, 2026GZIP наносит ответный удар Вот мы хотим классифицировать текст. Классическая задача для ML…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →