Java Code Examples for com.google.ipc.invalidation.external.client.SystemResources#getInternalScheduler()

The following examples show how to use com.google.ipc.invalidation.external.client.SystemResources#getInternalScheduler() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: InvalidationClientCore.java    From 365browser with Apache License 2.0 6 votes vote down vote up
/**
 * Constructs a client.
 *
 * @param resources resources to use during execution
 * @param random a random number generator
 * @param clientType client type code
 * @param clientName application identifier for the client
 * @param config configuration for the client
 * @param applicationName name of the application using the library (for debugging/monitoring)
 * @param regManagerState marshalled registration manager state, if any
 * @param protocolHandlerState marshalled protocol handler state, if any
 * @param listener application callback
 */
private InvalidationClientCore(final SystemResources resources, Random random, int clientType,
    final byte[] clientName, ClientConfigP config, String applicationName,
    RunStateP ticlRunState,
    RegistrationManagerStateP regManagerState,
    ProtocolHandlerState protocolHandlerState,
    StatisticsState statisticsState,
    InvalidationListener listener) {
  this.resources = Preconditions.checkNotNull(resources);
  this.random = random;
  this.logger = Preconditions.checkNotNull(resources.getLogger());
  this.internalScheduler = resources.getInternalScheduler();
  this.storage = resources.getStorage();
  this.config = config;
  this.ticlState = (ticlRunState == null) ? new RunState() : new RunState(ticlRunState);
  this.smearer = new Smearer(random, this.config.getSmearPercent());
  this.applicationClientId = ApplicationClientIdP.create(clientType, new Bytes(clientName));
  this.listener = listener;
  this.statistics = (statisticsState != null)
      ? Statistics.deserializeStatistics(resources.getLogger(), statisticsState.getCounter())
      : new Statistics();
  this.registrationManager = new RegistrationManager(logger, statistics, digestFn,
      regManagerState);
  this.protocolHandler = new ProtocolHandler(config.getProtocolHandlerConfig(), resources,
      smearer, statistics, clientType, applicationName, this, protocolHandlerState);
}
 
Example 2
Source File: ProtocolHandler.java    From 365browser with Apache License 2.0 6 votes vote down vote up
/**
 * Creates an instance.
 *
 * @param config configuration for the client
 * @param resources resources to use
 * @param smearer a smearer to randomize delays
 * @param statistics track information about messages sent/received, etc
 * @param applicationName name of the application using the library (for debugging/monitoring)
 * @param listener callback for protocol events
 */
ProtocolHandler(ProtocolHandlerConfigP config, final SystemResources resources,
    Smearer smearer, Statistics statistics, int clientType, String applicationName,
    ProtocolListener listener, ProtocolHandlerState marshalledState) {
  this.logger = resources.getLogger();
  this.statistics = statistics;
  this.internalScheduler = resources.getInternalScheduler();
  this.network = resources.getNetwork();
  this.listener = listener;
  this.clientVersion = CommonProtos.newClientVersion(resources.getPlatform(), "Java",
      applicationName);
  this.clientType = clientType;
  if (marshalledState == null) {
    // If there is no marshalled state, construct a clean batcher.
    this.batcher = new Batcher(resources, statistics);
  } else {
    // Otherwise, restore the batcher from the marshalled state.
    this.batcher = new Batcher(resources, statistics, marshalledState.getBatcherState());
    this.messageId = marshalledState.getMessageId();
    this.lastKnownServerTimeMs = marshalledState.getLastKnownServerTimeMs();
    this.nextMessageSendTimeMs = marshalledState.getNextMessageSendTimeMs();
  }
  logger.info("Created protocol handler for application %s, platform %s", applicationName,
      resources.getPlatform());
}
 
Example 3
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/** Creates a new instance with default state. */
BatchingTask(ProtocolHandler protocolHandler, SystemResources resources, Smearer smearer,
    int batchingDelayMs) {
  super(TASK_NAME, resources.getInternalScheduler(), resources.getLogger(), smearer, null,
      batchingDelayMs, NO_DELAY);
  this.protocolHandler = protocolHandler;
}
 
Example 4
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/** Creates a new instance with state from {@code marshalledState}. */
BatchingTask(ProtocolHandler protocolHandler, SystemResources resources, Smearer smearer,
    RecurringTaskState marshalledState) {
  super(TASK_NAME, resources.getInternalScheduler(), resources.getLogger(), smearer, null,
      marshalledState);
  this.protocolHandler = protocolHandler;
}
 
Example 5
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/** Creates a new instance with default state. */
BatchingTask(ProtocolHandler protocolHandler, SystemResources resources, Smearer smearer,
    int batchingDelayMs) {
  super(TASK_NAME, resources.getInternalScheduler(), resources.getLogger(), smearer, null,
      batchingDelayMs, NO_DELAY);
  this.protocolHandler = protocolHandler;
}
 
Example 6
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * Constructs a client.
 *
 * @param resources resources to use during execution
 * @param random a random number generator
 * @param clientType client type code
 * @param clientName application identifier for the client
 * @param config configuration for the client
 * @param applicationName name of the application using the library (for debugging/monitoring)
 * @param regManagerState marshalled registration manager state, if any
 * @param protocolHandlerState marshalled protocol handler state, if any
 * @param listener application callback
 */
private InvalidationClientCore(final SystemResources resources, Random random, int clientType,
    final byte[] clientName, ClientConfigP config, String applicationName,
    RunStateP ticlRunState,
    RegistrationManagerStateP regManagerState,
    ProtocolHandlerState protocolHandlerState,
    StatisticsState statisticsState,
    InvalidationListener listener) {
  this.resources = Preconditions.checkNotNull(resources);
  this.random = random;
  this.logger = Preconditions.checkNotNull(resources.getLogger());
  this.internalScheduler = resources.getInternalScheduler();
  this.storage = resources.getStorage();
  this.config = config;
  this.ticlState = (ticlRunState == null) ? new RunState() : new RunState(ticlRunState);
  this.smearer = new Smearer(random, this.config.getSmearPercent());
  this.applicationClientId =
      CommonProtos2.newApplicationClientIdP(clientType, ByteString.copyFrom(clientName));
  this.listener = listener;
  this.msgValidator = new TiclMessageValidator2(resources.getLogger());
  this.statistics = (statisticsState != null) ?
      Statistics.deserializeStatistics(resources.getLogger(), statisticsState.getCounterList()) :
      new Statistics();
  this.registrationManager = new RegistrationManager(logger, statistics, digestFn,
      regManagerState);
  this.protocolHandler = new ProtocolHandler(config.getProtocolHandlerConfig(), resources,
      smearer, statistics, clientType, applicationName, this, msgValidator, protocolHandlerState);
}
 
Example 7
Source File: ProtocolHandler.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * Creates an instance.
 *
 * @param config configuration for the client
 * @param resources resources to use
 * @param smearer a smearer to randomize delays
 * @param statistics track information about messages sent/received, etc
 * @param applicationName name of the application using the library (for debugging/monitoring)
 * @param listener callback for protocol events
 */
ProtocolHandler(ProtocolHandlerConfigP config, final SystemResources resources,
    Smearer smearer, Statistics statistics, int clientType, String applicationName,
    ProtocolListener listener, TiclMessageValidator2 msgValidator,
    ProtocolHandlerState marshalledState) {
  this.logger = resources.getLogger();
  this.statistics = statistics;
  this.internalScheduler = resources.getInternalScheduler();
  this.network = resources.getNetwork();
  this.listener = listener;
  this.msgValidator = msgValidator;
  this.clientVersion = CommonProtos2.newClientVersion(resources.getPlatform(), "Java",
      applicationName);
  this.clientType = clientType;
  if (marshalledState == null) {
    // If there is no marshalled state, construct a clean batcher.
    this.batcher = new Batcher(resources, statistics);
  } else {
    // Otherwise, restore the batcher from the marshalled state.
    this.batcher = new Batcher(resources, statistics, marshalledState.getBatcherState());
    this.messageId = marshalledState.getMessageId();
    this.lastKnownServerTimeMs = marshalledState.getLastKnownServerTimeMs();
    this.nextMessageSendTimeMs = marshalledState.getNextMessageSendTimeMs();
  }
  logger.info("Created protocol handler for application %s, platform %s", applicationName,
      resources.getPlatform());
}
 
Example 8
Source File: ProtocolHandler.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * Creates an instance.
 *
 * @param config configuration for the client
 * @param resources resources to use
 * @param smearer a smearer to randomize delays
 * @param statistics track information about messages sent/received, etc
 * @param applicationName name of the application using the library (for debugging/monitoring)
 * @param listener callback for protocol events
 */
ProtocolHandler(ProtocolHandlerConfigP config, final SystemResources resources,
    Smearer smearer, Statistics statistics, int clientType, String applicationName,
    ProtocolListener listener, TiclMessageValidator2 msgValidator,
    ProtocolHandlerState marshalledState) {
  this.logger = resources.getLogger();
  this.statistics = statistics;
  this.internalScheduler = resources.getInternalScheduler();
  this.network = resources.getNetwork();
  this.listener = listener;
  this.msgValidator = msgValidator;
  this.clientVersion = CommonProtos2.newClientVersion(resources.getPlatform(), "Java",
      applicationName);
  this.clientType = clientType;
  if (marshalledState == null) {
    // If there is no marshalled state, construct a clean batcher.
    this.batcher = new Batcher(resources, statistics);
  } else {
    // Otherwise, restore the batcher from the marshalled state.
    this.batcher = new Batcher(resources, statistics, marshalledState.getBatcherState());
    this.messageId = marshalledState.getMessageId();
    this.lastKnownServerTimeMs = marshalledState.getLastKnownServerTimeMs();
    this.nextMessageSendTimeMs = marshalledState.getNextMessageSendTimeMs();
  }
  logger.info("Created protocol handler for application %s, platform %s", applicationName,
      resources.getPlatform());
}
 
Example 9
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * Constructs a client.
 *
 * @param resources resources to use during execution
 * @param random a random number generator
 * @param clientType client type code
 * @param clientName application identifier for the client
 * @param config configuration for the client
 * @param applicationName name of the application using the library (for debugging/monitoring)
 * @param regManagerState marshalled registration manager state, if any
 * @param protocolHandlerState marshalled protocol handler state, if any
 * @param listener application callback
 */
private InvalidationClientCore(final SystemResources resources, Random random, int clientType,
    final byte[] clientName, ClientConfigP config, String applicationName,
    RunStateP ticlRunState,
    RegistrationManagerStateP regManagerState,
    ProtocolHandlerState protocolHandlerState,
    StatisticsState statisticsState,
    InvalidationListener listener) {
  this.resources = Preconditions.checkNotNull(resources);
  this.random = random;
  this.logger = Preconditions.checkNotNull(resources.getLogger());
  this.internalScheduler = resources.getInternalScheduler();
  this.storage = resources.getStorage();
  this.config = config;
  this.ticlState = (ticlRunState == null) ? new RunState() : new RunState(ticlRunState);
  this.smearer = new Smearer(random, this.config.getSmearPercent());
  this.applicationClientId =
      CommonProtos2.newApplicationClientIdP(clientType, ByteString.copyFrom(clientName));
  this.listener = listener;
  this.msgValidator = new TiclMessageValidator2(resources.getLogger());
  this.statistics = (statisticsState != null) ?
      Statistics.deserializeStatistics(resources.getLogger(), statisticsState.getCounterList()) :
      new Statistics();
  this.registrationManager = new RegistrationManager(logger, statistics, digestFn,
      regManagerState);
  this.protocolHandler = new ProtocolHandler(config.getProtocolHandlerConfig(), resources,
      smearer, statistics, clientType, applicationName, this, msgValidator, protocolHandlerState);
}
 
Example 10
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/** Creates a new instance with state from {@code marshalledState}. */
BatchingTask(ProtocolHandler protocolHandler, SystemResources resources, Smearer smearer,
    RecurringTaskState marshalledState) {
  super(TASK_NAME, resources.getInternalScheduler(), resources.getLogger(), smearer, null,
      marshalledState);
  this.protocolHandler = protocolHandler;
}
 
Example 11
Source File: TiclStateManager.java    From 365browser with Apache License 2.0 5 votes vote down vote up
/**
 * Restores the Ticl from persistent storage if it exists. Otherwise, returns {@code null}.
 * @param context Android system context
 * @param resources resources to use for the Ticl
 */
static AndroidInvalidationClientImpl restoreTicl(Context context,
    SystemResources resources) {
  AndroidTiclState state = readTiclState(context, resources.getLogger());
  if (state == null) {
    return null;
  }
  AndroidInvalidationClientImpl ticl = new AndroidInvalidationClientImpl(context, resources,
      random, state);
  initScheduler(resources, ticl, state.getScheduledTask());
  AndroidInternalScheduler scheduler =
      (AndroidInternalScheduler) resources.getInternalScheduler();
  scheduler.handleImplicitSchedulerEvent();
  return ticl;
}
 
Example 12
Source File: TiclStateManager.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
/**
 * Sets the scheduling id on the scheduler in {@code resources} to {@code ticl.getSchedulingId()}.
 */
private static void setSchedulerId(SystemResources resources,
    AndroidInvalidationClientImpl ticl) {
  AndroidInternalScheduler scheduler =
      (AndroidInternalScheduler) resources.getInternalScheduler();
  scheduler.setTiclId(ticl.getSchedulingId());
}
 
Example 13
Source File: InvalidationClientImpl.java    From 365browser with Apache License 2.0 5 votes vote down vote up
public InvalidationClientImpl(final SystemResources resources, Random random, int clientType,
    final byte[] clientName, ClientConfigP config, String applicationName,
    InvalidationListener listener) {
  super(
      // We will make Storage a SafeStorage after the constructor call. It's not possible to
      // construct a new resources around the existing components and pass that to super(...)
      // because then subsequent calls on the first resources object (e.g., start) would not
      // affect the new resources object that the Ticl would be using.
      resources,

      // Pass basic parameters through unmodified.
      random, clientType, clientName, config, applicationName,

      // Wrap the listener in a CheckingInvalidationListener to enforce appropriate threading.
      new CheckingInvalidationListener(listener,
          resources.getInternalScheduler(), resources.getListenerScheduler(),
          resources.getLogger())
  ); // End super.

  // Make Storage safe.
  this.storage = new SafeStorage(resources.getStorage());
  this.storage.setSystemResources(resources);

  // CheckingInvalidationListener needs the statistics object created by our super() call, so
  // we can't provide it at construction-time (since it hasn't been created yet).
  ((CheckingInvalidationListener) this.listener).setStatistics(statistics);

}
 
Example 14
Source File: InvalidationClientImpl.java    From android-chromium with BSD 2-Clause "Simplified" License 5 votes vote down vote up
public InvalidationClientImpl(final SystemResources resources, Random random, int clientType,
    final byte[] clientName, ClientConfigP config, String applicationName,
    InvalidationListener listener) {
  super(
      // We will make Storage a SafeStorage after the constructor call. It's not possible to
      // construct a new resources around the existing components and pass that to super(...)
      // because then subsequent calls on the first resources object (e.g., start) would not
      // affect the new resources object that the Ticl would be using.
      resources,

      // Pass basic parameters through unmodified.
      random, clientType, clientName, config, applicationName,

      // Wrap the listener in a CheckingInvalidationListener to enforce appropriate threading.
      new CheckingInvalidationListener(listener,
          resources.getInternalScheduler(), resources.getListenerScheduler(),
          resources.getLogger())
  ); // End super.

  // Make Storage safe.
  this.storage = new SafeStorage(resources.getStorage());
  this.storage.setSystemResources(resources);

  // CheckingInvalidationListener needs the statistics object created by our super() call, so
  // we can't provide it at construction-time (since it hasn't been created yet).
  ((CheckingInvalidationListener) this.listener).setStatistics(statistics);

}
 
Example 15
Source File: InvalidationClientCore.java    From 365browser with Apache License 2.0 5 votes vote down vote up
/** Creates a new instance with state from {@code marshalledState}. */
BatchingTask(ProtocolHandler protocolHandler, SystemResources resources, Smearer smearer,
    RecurringTaskState marshalledState) {
  super(TASK_NAME, resources.getInternalScheduler(), resources.getLogger(), smearer, null,
      marshalledState);
  this.protocolHandler = protocolHandler;
}
 
Example 16
Source File: InvalidationClientCore.java    From 365browser with Apache License 2.0 5 votes vote down vote up
/** Creates a new instance with default state. */
BatchingTask(ProtocolHandler protocolHandler, SystemResources resources, Smearer smearer,
    int batchingDelayMs) {
  super(TASK_NAME, resources.getInternalScheduler(), resources.getLogger(), smearer, null,
      batchingDelayMs, NO_DELAY);
  this.protocolHandler = protocolHandler;
}
 
Example 17
Source File: TiclStateManager.java    From 365browser with Apache License 2.0 5 votes vote down vote up
/**
 * Sets the scheduling id on the scheduler in {@code resources} to {@code ticl.getSchedulingId()}
 * and seeds the scheduler with scheduled tasks that had been persisted.
 */
private static void initScheduler(SystemResources resources,
    AndroidInvalidationClientImpl ticl, List<ScheduledTask> scheduledTasks) {
  AndroidInternalScheduler scheduler =
      (AndroidInternalScheduler) resources.getInternalScheduler();
  scheduler.init(ticl.getSchedulingId(), scheduledTasks);
}
 
Example 18
Source File: SafeStorage.java    From android-chromium with BSD 2-Clause "Simplified" License 4 votes vote down vote up
@Override
public void setSystemResources(SystemResources resources) {
  this.scheduler = resources.getInternalScheduler();
}
 
Example 19
Source File: SafeStorage.java    From android-chromium with BSD 2-Clause "Simplified" License 4 votes vote down vote up
@Override
public void setSystemResources(SystemResources resources) {
  this.scheduler = resources.getInternalScheduler();
}
 
Example 20
Source File: SafeStorage.java    From 365browser with Apache License 2.0 4 votes vote down vote up
@Override
public void setSystemResources(SystemResources resources) {
  this.scheduler = resources.getInternalScheduler();
}