Re[2]: Асинхронщина
От: Videoman Россия https://hts.tv/
Дата: 06.12.25 11:35
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>
_>int fn_setup(context *ctx,int event_code);
_>int fn_loop(context *ctx) {
_>  switch(ctx->line) { default:
_>  case 0: /* code 1 */ ctx->line=1; return 1;
_>  case 1: /* code 2 формируем запрос */ ctx->line=2; return 2; // предываемся и просми обработать запрос rc=2 (hint)
_>  case 2: /* code 3 анализируем ответ и был ли он вообще обработан */ ctx->line=3; return 1;
_>  case 3: /* code 4 */ ctx->line=4; return 1;
_>  /*...*/
_>  }
_>  return 0;
_>}
_>


Спасибо! Примерно то, что меня интересует но такой подход слишком низкоуровневый получается. Если рассматривать такой автомат как корутину, то придется хранить в состоянии всё, в том числе все локальные переменные и руками следить за их временем жизни, если они нужны только нескольким промежуточным состояниям. Больше С++ тут нельзя задействовать как-то?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.