|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alexey Krasnov 2:5066/196.96 12 Oct 2002 16:54:16 To : All Subject : Сортировка "наоборот" --------------------------------------------------------------------------------
Имеется такая задача. Hекий сетевой драйвер мастера имеет очередь сообщений,
которые необходимо разослать ряду устройств в сети и постоянно получает задания
с верхнего уровня на отправку новых сообщений. Каждое сетевое устройство
характеризуется уникальным однобайтовым сетевым адресом. Соответственно, каждое
сообщение также содержит в себе адрес получателя. Hеобходимо так переупорядочить
отправляемые сообщения, чтобы не встречалось два последовательно идущих
сообщения к одному и тому же устройству, так как приняв сообщение, получатель
сразу же принимается за его обработку и не в состоянии принять следующее
(становится "глухим" на время обработки запроса), что воспринимается в итоге как
ошибка.
Встает вопрос: как в сетевом драйвере реализовать алгоритм быстрого
переупорядочивания спускаемых сверху запросов ? Что-то похоже на сортировку по
адресу, но "наоборот", по принципу:
<на_адрес_0> <на_адрес_1> <на_адрес_2> <на_адрес_0> <на_адрес_1> ... и т.д.
При этом, если мы имеем несколько сообщений, предназначенных для одного и того
же устройства, то отправляться они должны именно в том порядке, в котором
спущены сверху.
Всего хорошего.
--- GoldED+/386 1.1.4.7. -- .: Craig David - Walking Away
* Origin: Лучше быть черным, чем голубым. (2:5066/196.96)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/166133da85803.html, оценка из 5, голосов 10
|