Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(312)

Side by Side Diff: sync/android/java/src/org/chromium/sync/notifier/InvalidationClientNameProvider.java

Issue 2130453004: [Sync] Move //sync to //components/sync. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.sync.notifier;
6
7 /**
8 * An injectable singleton that provides an invalidation client with an appropri ate unique name.
9 *
10 * This singleton will always provide a somewhat reasonable name. With proper s upport from outside
11 * components, it will be able to provide a name that is consistent across resta rts.
12 */
13 public class InvalidationClientNameProvider {
14 private static final Object LOCK = new Object();
15
16 private static InvalidationClientNameProvider sInstance;
17
18 private final Object mLock;
19
20 private InvalidationClientNameGenerator mGenerator;
21
22 private byte[] mUniqueId;
23
24 public static InvalidationClientNameProvider get() {
25 synchronized (LOCK) {
26 if (sInstance == null) {
27 sInstance = new InvalidationClientNameProvider();
28 }
29 return sInstance;
30 }
31 }
32
33 InvalidationClientNameProvider() {
34 mLock = new Object();
35 mGenerator = new RandomizedInvalidationClientNameGenerator();
36 }
37
38 /** Returns a consistent unique string of bytes for use as an invalidator cl ient ID. */
39 public byte[] getInvalidatorClientName() {
40 synchronized (mLock) {
41 if (mUniqueId == null) {
42 mUniqueId = mGenerator.generateInvalidatorClientName();
43 }
44 return mUniqueId;
45 }
46 }
47
48 public void setPreferredClientNameGenerator(InvalidationClientNameGenerator generator) {
49 mGenerator = generator;
50 }
51 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698