Информация об изменениях

Сообщение Re[8]: Образцово-показательный интерфейс для EventBus от 24.11.2021 12:48

Изменено 24.11.2021 12:58 Shmj

Re[8]: Образцово-показательный интерфейс для EventBus
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Я ничего в твоем примере не понял, там какая то каша. Никто в коде подписки обработчик события руками не вызывает. Схематически оно выглядит примерно так:

НС>
НС>async static void SubscribeAsync(
НС>  Func<string, CancellationToken, Task> eventHandler,
НС>  CancellationToken cancellation = default)
НС>{
НС>  await nativeClient.SubscribeAsync(
НС>        (nativeParams, canc) => eventHandler(GetModelParams(nativeParams), canc),
НС>        cancellation);
НС>}
НС>


В вашем вызове вы передаете canc. Где его берет nativeClient? Видимо использует тот же cancellation, который вы ему передаете, ведь так? Получается у вас 1 единственный cancellation по сути. Так?
Re[8]: Образцово-показательный интерфейс для EventBus
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Я ничего в твоем примере не понял, там какая то каша. Никто в коде подписки обработчик события руками не вызывает. Схематически оно выглядит примерно так:

НС>
НС>async static void SubscribeAsync(
НС>  Func<string, CancellationToken, Task> eventHandler,
НС>  CancellationToken cancellation = default)
НС>{
НС>  await nativeClient.SubscribeAsync(
НС>        (nativeParams, canc) => eventHandler(GetModelParams(nativeParams), canc),
НС>        cancellation);
НС>}
НС>


В вашем вызове вы передаете canc. Где его берет nativeClient? Видимо использует тот же cancellation, который вы ему передаете, ведь так? Получается у вас 1 единственный cancellation по сути. Так?

Почему тогда вы его не используете для отмены подписки? В nativeClient.SubscribeAsync он что отменяет?