summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/notification_method.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/sync/notification_method.h')
-rw-r--r--chrome/browser/sync/notification_method.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/chrome/browser/sync/notification_method.h b/chrome/browser/sync/notification_method.h
index 569f8d2..4e1bcd1 100644
--- a/chrome/browser/sync/notification_method.h
+++ b/chrome/browser/sync/notification_method.h
@@ -10,7 +10,7 @@
namespace browser_sync {
// This is the matrix for the interaction between clients with
-// different notification methods:
+// different notification methods (except for NOTIFICATION_SERVER):
//
// Listen
// L T N
@@ -24,6 +24,12 @@ namespace browser_sync {
// will receive notifications from a client sending with the row
// notification method. 'E' means means that the notification will be
// an empty one, which may be dropped by the server in the future.
+//
+// As for NOTIFICATION_SERVER, server-issued notifications will also
+// simulate a peer-issued notification, so that any client with
+// NOTIFICATION_TRANSITIONAL or NOTIFICATION_NEW will be able to
+// receive those, too. This support will be removed once everyone is
+// on NOTIFICATION_SERVER.
enum NotificationMethod {
// Old, broken notification method. Works only if notification
@@ -33,9 +39,17 @@ enum NotificationMethod {
// notifications if the notification servers don't drop empty
// notifications.
NOTIFICATION_TRANSITIONAL,
- // New, ideal notification method. Compatible only with
- // transitional notifications.
+ // New notification method. Compatible only with transitional
+ // notifications.
+ //
+ // NOTE: "New" is kind of a misnomer, as it refers only to
+ // peer-issued notifications; the plan is to migrate everyone to
+ // using NOTIFICATION_SERVER.
NOTIFICATION_NEW,
+
+ // Server-issued notifications. Compatible only with transitional
+ // notifications.
+ NOTIFICATION_SERVER,
};
extern const NotificationMethod kDefaultNotificationMethod;
@@ -43,8 +57,8 @@ extern const NotificationMethod kDefaultNotificationMethod;
std::string NotificationMethodToString(
NotificationMethod notification_method);
-// If the given string is not one of "legacy", "transitional", or
-// "new", returns kDefaultNotificationMethod.
+// If the given string is not one of "legacy", "transitional", "new",
+// or "server", returns kDefaultNotificationMethod.
NotificationMethod StringToNotificationMethod(const std::string& str);
} // namespace browser_sync