LINUX.ORG.RU

Что курили создатели dbus?

 ,


0

2

Посмотрел я на этот ваш дубас и офигел от его API. Я конечно тот еще неосилятор, но все же. Занафига надо было плодить столько сущностей со схожим назначением? Для чего нужны были отдельные bus name, object path, interface name, имена членов интерфейса? Почему нельзя было обойтись одной абстракцией например путем до объекта? Зачем нужно было особо выделять интерфейсы, если они все равно реализуются через объекты шины? И это еще ни слова про зубодробительный GObject и отсутствие сетевой прозрачности.

В завершение сего плача Ярославны, хочу спросить у анонимных аналитиков о более других, ясных и удобных решениях для IPC и RPC.

P.S. Все таки обидно, что 9P так и не стал отраслевым стандартом…

★★★★★

Последнее исправление: fat_angel (всего исправлений: 2)

Ответ на: комментарий от derlafff

Так в том то и дело, что не хочу да и не осилю нормально реализовать. Хочется готового и вменяемого.

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от fat_angel

поищи, может быть более-менее вменяемые библиотеки для работы с сабжем есть

derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)
Ответ на: комментарий от derlafff

Да и dbus отлично работает

До тех пор пока не захочешь использовать его в своем приложении.

fat_angel ★★★★★
() автор топика

GObject

Если ты пишешь на голоС, то ты попал. Приятной копипасты :]

vasily_pupkin ★★★★★
()

Для чего нужны были отдельные bus name, object path, interface name, имена членов интерфейса?

Ты точно неосилятор, например у блютуса:

- object path - путь к объекту, т.е к адаптеру один, а девайсам которые этот адаптер нашел - дочерние пути адатера

- interface name - по сути это то что умеет приложение, тотже блютус умеет прикидыватся наушниками или устройством ввода - для это интерфейсы нужны разные

Deleted
()
Ответ на: комментарий от Deleted

Я что-то не вижу причин по которым здесь нельзя было бы обойтись простой структурой в виде виртуальной файловой системы. Пример привести можешь, а то так не очень понятно?

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от fat_angel

Я что-то не вижу причин по которым здесь нельзя было бы обойтись простой структурой в виде виртуальной файловой системы

И как ты наследование через Фс изобразишь извращанец? Не если теба результат сего действа устроит, то ваяй - никаких проблем, но пользоваться этим никто не будет

Deleted
()

более других, ясных и удобных решениях для IPC и RPC

ZeroC ICE

jtootf ★★★★★
()

Дык делов-то, возьми 0mq к примеру, вокруг request-response накрути свой rpc. Например запакуй в структуру название метода и массив параметров. В ответ высылай структуру из флажка результата, самого результата и сообщения об ошибке. В качестве транспорта можно взять ipc, если нужно будет разнести по сети, то без проблем заменишь на tcp.

dizza ★★★★★
()

Ну и если есть желание потрахаться с промежуточным языком для представления сообщений, то есть Thrift.

dizza ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

гораздо большие ограничения на то, как работает программа, нет общепринятых механизмов интроспекции и прочей инфраструктуры связанной с dbus, хотя zeromq жжот.

qnikst ★★★★★
()
Последнее исправление: qnikst (всего исправлений: 1)

более других, ясных и удобных решениях для IPC и RPC.

велосипедить. но вообще проблема в том, что dbus все равно приходится использовать, для взаимодействия с системными сервисами. в основных тулкитах есть обертки. в EFL есть достаточно понятная обертка, из которой можно дергать код, если хочется обойтись без лишних зависимостей, и идиотских gobject'ов.

waker ★★★★★
()

Enterprise, разработчики сидели и представляли как весь мир, все системы полностью перейдут на dbus.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от fat_angel

Java-only же, нет?

Ну так тебе проект делать и запускать в продакшн? Или нет?

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

с какими системными сервисами? Systemd? Может ну их нахрен такие сервисы?

всякие mpris, нотификации, gnome/kde multimedia buttons, интеграция с панелькой в убунте, и т.п.

про systemd не знаю, не пользовался еще.

waker ★★★★★
()
Ответ на: комментарий от waker

Если что-то есть в апстриме, это совершенно не значит что это стоит использовать. Во многих случаях (привет, consolekit) это даже в апстриме понимают (со временем, правда).

anonymous
()
Ответ на: комментарий от anonymous

Если что-то есть в апстриме, это совершенно не значит что это стоит использовать.

ну я привел вполне конкретные примеры, где без dbus не обойтись. понятно, что есть множество примеров, когда dbus не нужен. я вообще не призываю его использовать, скорее наоборот, и вообще согласен с ТС.

waker ★★★★★
()
Ответ на: комментарий от waker

Ты немного неверно меня понял — я прокомментировал «велосипедить». А так да, если хочется интеграции (а хочется ли, уже отдельный разговор) без dbus, увы, не обойтись.

anonymous
()
Ответ на: комментарий от anonymous

тогда я вообще не понял, что вы хотели сказать.

waker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.