[an error occurred while processing this directive]
|
как раз недавно решал аналогичную задачу. Есть многоканальный последовательный поток с пакетной передачей. каждый пакет имеет ID, состоящий из номера девайса, его сгенерившего и логического номера канала. номер канала 12-битный, не может быть равным 0. Хост принимает всю эту тучу пакетов и управляет всеми девайсами. Но есть определенный(ные) девайс(ы)(не хост), который может заниматься обработкой данных. Ему(им) хост может скомандовать - прими такой-то канал от такого девайса, обработай так-то, и выдай в такой-то канал от своего адреса. Ну и наоборот - закончи обработку такого-то канала.
Смысл задачи сводится к этому-же. Надо выделять номера каналов для девайсов-обработчиков. Всего там тоже 16 бит - 4 бита номер девайса и 12 бит номер канала. Решилось наиболее оптимально именно через "bitmap". С применением средств оптимального поиска и размещения, что-бы время поиска свободного канала по минимуму зависело от числа выделенных в текущее время.
E-mail: info@telesys.ru