Тема / Topic: Драйвер t11: адреса каналов, входящих в блок
Kate
Junior Member / Новичок
Участник № / Member № 1801
отправлено / posted
Можно ли из процедуры Set_xxx получить доступ к удаленным адресам всех каналов, входящих в блок, а не только канала-инициатора запроса? Если да, то каким образом?
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Нельзя получить доступ к другим каналам входящим в блок. В ближайшие релизы мы планируем это изменить. Пока можно попробовать следующее (совет нашего программиста): в функции zCompare() при формировании блоков (на старте МРВ) вести свою базу блоковых запросов, сохранять базовый канал для блока и список каналов в блоке, когда проходят условия проверки (т.е. zCompare возвращает не 0, канал в блоке), добавлять канал в свой список. Потом при заходе в Set() по базовому каналу из своей базы доставать весь список.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Kate
Junior Member / Новичок
Участник № / Member № 1801
отправлено / posted
Это понятно. В таком случае другой вопрос. Есть три канала k1, k2 и k3, которые по всем необходимым признакам группируются в блок. Так вот при формировании блока zCompare_xxx вызывается для k1 и k2 (возвращает не 0), для k1 и k3 (возвращает не 0) и для k2 и k3. Для чего это последнее сравнение, если и k2, и k3 уже в блоке?
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Потому что k2 тоже может быть базовым каналом для блока - если первый запрос заканчивается ошибкой, то базовым становится следующий канал из блока, кол-во каналов в блоке уменьшается на 1.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |