OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 18:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Механизм Omnicast, Broadcast и др.
СообщениеДобавлено: Пятница, 11 Март, 2011 18:25 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Выделено: viewtopic.php?p=61346#p61346

Иван Кузьмицкий писал(а):
Omnicast перебирает все окна, начиная с dir.First() и у каждого секвенсера окна вызывает хэндлер. В этом хэндлере, секвенсер окна (внимание!) опять перебирает все окна, начиная с dir.First и вызывает хэндлер броадкаста у окна - только в том случае, если окно имеет такой же секвенсер.
Зачем два прохода по одному и тому же списку? Из описания не понятно, почему Omnicast не вызывает сразу хэндлер броадкаста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обход Store'ов из одного Domain'а
СообщениеДобавлено: Пятница, 11 Март, 2011 18:55 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Кузьмицкий писал(а):
проявляется сборка мусора как архитектурный фактор, что ли...
Это да, централизованная сборка мусора -- архитектурный фактор.

Только не понятно, что там с секвенсерами -- смысл какой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обход Store'ов из одного Domain'а
СообщениеДобавлено: Пятница, 11 Март, 2011 19:04 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Александр Ильин писал(а):
Зачем два прохода по одному и тому же списку? Из описания не понятно, почему Omnicast не вызывает сразу хэндлер броадкаста.
Меня смутили вот эти комментарии:
Цитата:
PROCEDURE (s: StdSequencer) Handle (VAR msg: ANYREC);
(* send message to all windows attached to s *)
и
Цитата:
Window* = POINTER TO ABSTRACT RECORD
...
link-: Window; (* ring of windows with same sequencer *)
Судя по ним, между окном и секвенсером отношение многие-к-одному. Стало быть, чтоб не хранить списки окон у секвенсера и не блокировать сборку мусора, нужны дополнительные проходы.

Но чем больше я смотрю на PROCEDURE (h: Hook) Omnicast и PROCEDURE (s: StdSequencer) Handle, тем меньше мне понятно реализованное в них. В каркасе вызов w.BroadcastViewMsg делается только из секвенсера и только вот таким "извращённым" способом. Не понимаю. Может быть, это уже оффтоп.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB