The transport properties client is a BSP client that synchronises transport properties between pairs of devices. Transport properties describe how to connect to a device over various transports.
The client's identifier is
org.briarproject.bramble.properties. The major version is 0.
The client uses a separate BSP group for communicating with each contact. The group descriptor is a BDF list containing the unique IDs of the contacts' identities, sorted in ascending order as byte strings.
The client also uses a group with an empty descriptor for storing local transport properties. This group is not shared with any contacts.
UPDATE - The message body is a BDF list with three elements:
version (int), and
properties are supplied by the transport plugin. The keys and values of
properties are strings.
version is incremented whenever the properties change.
- An update is valid if it is well-formed.
- In the groups shared with contacts:
- For each transport, the local message with the highest version is stored.
- For each transport, the remote message with the highest version is stored.
- In the unshared group, the local message with the highest version is stored.
- In the groups shared with contacts, all local messages are shared.
- In the unshared group, no messages are shared.