About negotiation

In a HomeWeave network, the negotiation mechanism determines which messages a device supports and which should be used. Also, the negotiation component decides which transport mechanism to use. In other words, it determines the language spoken on the network.

The capabilities (supported messages and transports) of a device are defined in a so-called definition file. This definition file is in XML and is downloaded from a device if it is auto-discovered by another device (commonly over HTTP). The list of messages that a device supports can be used to categorize devices in groups (i.e. a fabric can automatically add a device that supports color messages to a separate group). The list of transports is to be matched to the list of transports a client device supports, and the first one that matches is used.

Handling of the mediation level can be done in either the discovery component or in the negotiation component, whichever is more suitable. However, devices that consider the mediation level in the negotiation phase should never make any connections to a device (not even download the definition file) if the mediation level prevents it.

 
negotiation_component.txt · Last modified: 2010/01/16 16:39 (external edit)
 
© Pixelspark, 2009-2012