PNP

Network applications can send UDP-frame to multicast address 239.192.1.2:33304. This frame contains XML document (with DOCTYPE pnp_message) that describes application's current status.

Program announce element

Program should publish such element on application start-up and on every change of its content. Root element is 'program' which has following attributes:

Program element can hold sub-elements: interfaces and options.

Interfaces

This element describes to another program how they can communicate with this program. Element 'interface' has following attributes:

If some interface has some connected peers, there will be 'peer' sub-element with attributes:

Options

Optional elements without some concrete purpose. Holds key-value map.

Program close element

Program should publish such element right before application shut-down. Root element is 'program_close', attributes is the same as for Program announce element

Search element

Root element is 'discover_request'. Program element can hold sub-elements: 'target'. All programs should responce if there is no 'target' elements or if one of them contains its program type.

Target

Element contains program type string for search.

Example

   1 <!DOCTYPE pnp_message>
   2 <program seq="933307" name="EvB#ivan" index="ivan" ver_date="2023-06-06T16:24:44" type="EvB" uuid="{f05b1726-74a3-4409-af3a-726f0c75302b}" ver_hash="1.3.2-2-g55461c3" hostName="c4n01.he.jinr.ru">
   3  <options>
   4   <option name="Clients" value="1"/>
   5   <option name="fsm" value="Run"/>
   6   <option name="output" value="idle"/>
   7   <option name="runIndex" value=""/>
   8   <option name="runNumber" value="0"/>
   9  </options>
  10  <interfaces>
  11   <interface port="43073" enabled="1" id="0" isFree="0" type="RemoteControl">
  12    <peer h="::ffff:10.18.15.22" p="36312"/>
  13   </interface>
  14   <interface port="31236" enabled="1" id="0" isFree="1" type="Monitor output data flow"/>
  15   <interface port="47185" enabled="1" id="0" isFree="1" type="data flow"/>
  16  </interfaces>
  17 </program>

   1 <!DOCTYPE pnp_message>
   2 <program_close seq="0" ver_hash="1.4.6-7-g10a037f-dirty" index="ivan" ver_date="2024-06-06T15:24:02" hostName="afi-daq-2" name="EvB#ivan" uuid="{9231ba39-cbb6-4e02-addc-fc6a85ee4531}" type="EvB"/>

   1 <!DOCTYPE pnp_message>
   2 <discover_request>
   3  <target>Land</target>
   4  <target>EvbGen</target>
   5  <target>GenericClient</target>
   6  <target>EvB</target>
   7  <target>MStream</target>
   8  <target>VmeDaq</target>
   9 </discover_request>

PNP (last edited 2024-09-18 11:32:54 by filippov)