ricochet-go/ricochet-cli
John Brooks 32230b77c1 core: Reuse protobuf structures for configuration
The existing configuration was partially compatible with Ricochet's,
but not enough to actually be useful. It also required a bunch of
boilerplate code to copy data between configuration data structures,
internal data structures, and RPC data structures.

Protobuf conveniently supports encoding messages to JSON, and we already
need to store most data (e.g. contacts) in protobuf structures. This
commit changes the configuration to be a protobuf JSON serialization of
the Config message, which can directly reuse RPC messages like Contact.

Additionally, the RWMutex-based configuration type was a deadlock
waiting to happen. There is now a read-only clone of the configuration
available atomically at any time. Writers need an exclusive lock on the
ConfigFile object, which commits its changes to disk and readers on
unlock.
2017-09-24 16:59:44 -06:00
..
client.go Delete backend and rename cli to ricochet-cli 2016-11-05 16:59:22 -06:00
contact.go Delete backend and rename cli to ricochet-cli 2016-11-05 16:59:22 -06:00
conversation.go cli: Use host prefixes as unique identifiers 2017-09-24 16:59:42 -06:00
innernet.go Delete backend and rename cli to ricochet-cli 2016-11-05 16:59:22 -06:00
main.go core: Reuse protobuf structures for configuration 2017-09-24 16:59:44 -06:00
ui.go cli: Use host prefixes as unique identifiers 2017-09-24 16:59:42 -06:00