Дем
Постоялец
Репутация: +6/-3
Offline
Сообщений: 167
|
|
« : 22 января 2007, 10:00:58 » |
|
В связи с тем, что в соседних темах поступил ряд предложений, явно несовместимых с текушей логикой работы НС и требующих радикальной переработки его кода - предлагаю данную задачу (написание кода) возложить на этих "желающих странного" Для чего разработать интерфейс, через который к НС могут быть подключены сторонние плагины. ! Реализовано в HC с версии 1.0 RC2 (1.0.0.175) от 27.05.2009 на основе расширений на языке скриптов Lua !
|
|
|
|
|
DenZzz
|
|
« Ответ #1 : 22 января 2007, 10:25:46 » |
|
Насколько я знаю, mai62 уже давно разрабатывает API, пригодный для плагинной архитектуры. За образец взята плагинная система Миранды.
Работа эта очень трудоемкая! Но зато в будущем каждый желающий сможет проявить себя в создании плагинов для HC !
|
|
|
|
|
Дем
Постоялец
Репутация: +6/-3
Offline
Сообщений: 167
|
|
« Ответ #2 : 22 января 2007, 10:26:58 » |
|
Первый вариант:
1) Плагин обработки запроса. Вызывается перед любыми другими действиями. int request(string[in,out] request, string[in,out] filename, string[in] parameters)
получает: request - запрос к серверу (полностью) filename - имя файла на диске (до внутренней конвертации символов) parameters - предназанченное для параметров поле из списка вызова ("как есть")
возвращает: запрос к серверу (возможно изменённый) имя файла на диске (возможно изменённое) статус-код, определяющий дальнейшие действия: а) загрузка из инета б) загрузка из кеша в) блокировка г) дальнейшая обработка в соответствии со списками НС
2) плагин обработки ответа Тоже получает весь ответ и обрабатывает его в соответствии с желаниями пользователя.
Второй вариант: Один тип плагинов с предоставлением ему callback-функции загрузки файла из инета и кеша т.е. плагин получил запрос, сам с помощью callbackа или ещё как хочет загрузил данные и вернул их в программу.
|
|
|
|
|
mai62
|
|
« Ответ #3 : 26 января 2007, 00:14:08 » |
|
Пунктирно будет так: обработчики событий - поступил запрос (управление доступом, фильтры) - поступил ответ (управление скачиванием, фильтры) - поступила очередная порция данных (распаковка gzip, фильтры контента) сервисы - ведение и предъявление статистики - ведение лога - дозвон - чистка кэша - кэш DNS - внешние прокси - тренажер
|
|
|
|
|
Михаил
|
|
« Ответ #4 : 07 августа 2007, 12:02:53 » |
|
Имхо, хорошо бы предоставить возможность управления чтением/записью в кэш. Тогда вопрос хранения и использования метаданных, по которому согласия нет, мог бы стронуться с мертвой точки. mai62 На каком этапе эта работа сейчас?
|
|
|
|
|
mai62
|
|
« Ответ #5 : 07 августа 2007, 13:16:38 » |
|
Сейчас все несколько сложнее. Будет отдельно серверная и управляющая часть. Серверная часть будет многоплатформенной, ее я уже пишу на C++. Многоплатформенность усложняет построение плагинной системы, я пока плохо представляю как это делают в Линуксе. С управляющей частью пока для меня больше вопросов чем ответов. Web-интерфейс решил бы проблему многоплатформенности, но будет ли такое решение достаточно эффективным? С другой стороны есть немало библиотек для создания многоплатформенных GUI-программ, но все они не без недостатков и я пока не не остановился ни на одной из них. Надо искать время чтобы познакомиться с ними поближе.
|
|
|
|
|
cepera_ang
|
|
« Ответ #6 : 07 августа 2007, 15:06:32 » |
|
Веб-интерфейс это отличное решение для многоплатформенности (для виндовс в основном , линуксоиды и текстовые конфиги поправят).
|
|
|
|
|
Михаил
|
|
« Ответ #7 : 07 августа 2007, 17:48:49 » |
|
mai62 Выноси проблемные вопросы на форум. Обсудим. Самому сложно все учесть. И время сэкономить, может, удастся.
|
|
|
|
|
Rick
|
|
« Ответ #8 : 12 августа 2007, 07:33:33 » |
|
Веб-интерфейс это отличное решение для многоплатформенности. Работать-то будет, но будет ли веб-интерфейс достаточным? Я лично, рассматриваю его как инструмент для администратора, позволяющий с удаленной машины что-то изменить в настройках. Не больше. Т.е. веб-интерфейс - средство/способ конфигурирования НС, но не более: никаких рюшечек, никакого монитора в нынешнем виде, никакого тренажера и т.д. и т.п. Разве этого будет достаточно, тем более домашнему пользователю?
|
|
|
|
|
NothingAnother
Beta tester
Репутация: +7/-2
Offline
Сообщений: 434
Spoiler
|
|
« Ответ #9 : 12 августа 2007, 09:39:02 » |
|
Разве этого будет достаточно Нафиг Web, есть такая фишка - ServiceController обзывается...
|
Мы тоже не всего читали Шнитке!.. © В. Вишневский
|
|
|
|
cepera_ang
|
|
« Ответ #10 : 12 августа 2007, 14:39:14 » |
|
Единственное что в web интерфейсе будет тяжко реализовать - монитор. Решайте в общем. ПыСы что такое servicecontroller?
|
|
|
|
|
Rick
|
|
« Ответ #11 : 12 августа 2007, 18:53:51 » |
|
Нафиг Web, есть такая фишка - ServiceController обзывается... А на линухе такая фишка есть? Единственное что в web интерфейсе будет тяжко реализовать - монитор. Решайте в общем. Веб-интерфейс будет обязательно. Но он не отменяет необходимости делать управляющую программу.
|
|
|
|
|
|