mirror of
https://github.com/status-im/status-go.git
synced 2025-01-18 10:42:07 +00:00
e65760ca85
This commit adds basic syncing capabilities with peers if they are both online. It updates the work done on MVDS, but I decided to create the code in status-go instead, since it's very tight to the application (similarly the code that was the inspiration for mvds, bramble, is all tight together at the database level). I reused parts of the protobufs. The flow is: 1) An OFFER message is sent periodically with a bunch of message-ids and group-ids. 2) Anyone can REQUEST some of those messages if not present in their database. 3) The peer will then send over those messages. It's disabled by default, but I am planning to add a way to set up the flags.
30 lines
957 B
Go
30 lines
957 B
Go
package common
|
|
|
|
type FeatureFlags struct {
|
|
// Datasync indicates whether direct messages should be sent exclusively
|
|
// using datasync, breaking change for non-v1 clients. Public messages
|
|
// are not impacted
|
|
Datasync bool
|
|
|
|
// PushNotification indicates whether we should be enabling the push notification feature
|
|
PushNotifications bool
|
|
|
|
// MailserverCycle indicates whether we should enable or not the mailserver cycle
|
|
MailserverCycle bool
|
|
|
|
// DisableCheckingForBackup disables backup loop
|
|
DisableCheckingForBackup bool
|
|
|
|
// DisableAutoMessageLoop disables auto message loop
|
|
DisableAutoMessageLoop bool
|
|
|
|
// ResendRawMessagesDisabled indicates whether we should be disabling sending raw messages
|
|
ResendRawMessagesDisabled bool
|
|
|
|
// StoreNodesDisabled indicates whether we should fetch messages from store nodes
|
|
StoreNodesDisabled bool
|
|
|
|
// Peersyncing indicates whether we should advertise and sync messages with other peers
|
|
Peersyncing bool
|
|
}
|