Inferno OS Wiki
Advertisement

НАЗВАНИЕ

plumber - это своего рода протокол обменасигналами между запущенными приложениями

ВВОД

plumber [ -v ] [ -w ] [ -c wmchan ] [ rulefile ... ]

ОПИСАНИЕ

Plumber предоставляет возможность высокоуровнего обмена сигналами между приложениями через `порты`, аналогичные портам ввода-вывода, толькореализованные логически, кроме того, сигналы посылаются не напрямую между приложениями, апосредством протоколаplumber, который обрабатываетих, согласно правилам, указанным в конфигурационном файле, после чегоманипулирует указателями, портамии адресами в памяти тех или иных процессов и приложений.

Протокол запускаетсяна старте системыпосле wm(1) исмотрит доступный конфигурационный файл(по умолчанию: /usr/имя_пользователя/lib/plumbing). Каждый такой файл содержит правила, описанныеспециальной формой (см.plumbing(6)); правила описываютназначение сигнала, который plumber получает от приложения-отправителя, и инструкции, указывающие что именно необходимо выполнить. Послезапуска, Plumber остается резидентно, ожидая запроса либо от сигнального модуля plumbmsg(2), либо от открытых приложений (в результате кликов мышью, нажатия кнопок или перетаскивания из окна/в окно), либоотмодуля plumb(1).

Как только поступает сигнал, plumber реализует правила, перенаправляя сигнал в логический порт-вводауказанного приложения; если порт отсутствует, тоplumber создает его. Если дляуказанного приложенияотсутствует правило (или в случае иной ошибки), plumber возвращает сообщение об ошибке, отправителю сигнала.

Опция `-v` позволяет вести логи содержимого полученных протоколом сигналов, облегчая контроль и настройкуправил. Кроме того, обычно Plumber работает с приложениями напрямую, однако, еслиимеется специализированный проводник или менеджер окон, отличный от wm(1), то опция`-w` указываетпротоколу работать через канал/chan/wm (по сути скидывать все правила и инструкции в файл), откудаэтот проводник или менеджер окон можетчерпать все необходимое для нормального функционирования. Опция `-c` позволяет для тех же целей создатьсобственный каналwmchan вместо/chan/wm.

ФАЙЛ

/usr/имя_пользователя/lib/plumbing - конфигурационный файл протокола

ИСХОДНИКИ

/appl/cmd/plumber.b

/appl/lib/plumbing.b

Смотри также

plumb(1),wm(1),plumbmsg(2),plumbing(6)

Advertisement