Size: a a a

cxx.Дискуссионная

2020 April 20

Е

Егор in cxx.Дискуссионная
Хм, а контекст в корутине подменить можно как-то? А то хакеры разгуляются
источник

RM

Roy Mustang in cxx.Дискуссионная
Я хочу показать пример чтоб народ догнал о чем я
источник

RM

Roy Mustang in cxx.Дискуссионная
А дальше уже чтоб кто-то из вас предложил хорошую реализацию того же что я привел в примере
источник

RM

Roy Mustang in cxx.Дискуссионная
Забыл комменты добавить
источник

АК

Александр Караев... in cxx.Дискуссионная
Егор
Хм, а контекст в корутине подменить можно как-то? А то хакеры разгуляются
Контекст корутины не сильно отличается от контекста функции
источник

RM

Roy Mustang in cxx.Дискуссионная
источник

RM

Roy Mustang in cxx.Дискуссионная
Вот, как то так
источник

RM

Roy Mustang in cxx.Дискуссионная
По сути, тут необязательно сохранять каждую позицию
источник

RM

Roy Mustang in cxx.Дискуссионная
Достаточно сохранять позицию лишь того места, где происходит блокировка для доступа к общему ресурсу
источник

RM

Roy Mustang in cxx.Дискуссионная
А потом просто вернуться к этому месту и продолжить дальше
источник

RM

Roy Mustang in cxx.Дискуссионная
Если есть какие то данные, которые нужно было поместить или передать в общий ресурс, то их можно пихать в плоски буффер, сохраняя лишь позицию данных
источник

RM

Roy Mustang in cxx.Дискуссионная
Я не знаю есть ли уже такое, но это отличается от корутинов, они лишь похожи тем, что состояние могут продолжать
источник

RM

Roy Mustang in cxx.Дискуссионная
Это что-то вроде воркеры + аля корутины + с сохранением последнего состояния + сериализация данных (последнее отсутствует в примере выше)
источник

RM

Roy Mustang in cxx.Дискуссионная
Такая реализация не требует хранить лямбды или каллбэки, грубо говоря, хитрость заключается в том, что общие функции могут использоваться для хранения уникального состояния для каждой задачи
источник

RM

Roy Mustang in cxx.Дискуссионная
Чего молчим? Кто-то критиковать будет?
источник

O

Ostrich Corpsе in cxx.Дискуссионная
Я могу
источник

EP

Egor Pugin in cxx.Дискуссионная
Roy Mustang
Чего молчим? Кто-то критиковать будет?
зачем
источник

RM

Roy Mustang in cxx.Дискуссионная
Ostrich Corpsе
Я могу
Не, ты можешь не комментировать )
источник

RM

Roy Mustang in cxx.Дискуссионная
Egor Pugin
зачем
Дешевле и быстрее, чем корутины или контекст
источник

RM

Roy Mustang in cxx.Дискуссионная
+ неблокирующий
источник