• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SystemResources类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.google.ipc.invalidation.external.client.SystemResources的典型用法代码示例。如果您正苦于以下问题:Java SystemResources类的具体用法?Java SystemResources怎么用?Java SystemResources使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SystemResources类属于com.google.ipc.invalidation.external.client包,在下文中一共展示了SystemResources类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: InvalidationClientCore

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * 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);
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:39,代码来源:InvalidationClientCore.java


示例2: registerWithNetwork

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * Registers handlers for received messages and network status changes with the network of
 * {@code resources}.
 */
private void registerWithNetwork(final SystemResources resources) {
  resources.getNetwork().setListener(new NetworkChannel.NetworkListener() {
    @Override
    public void onMessageReceived(byte[] incomingMessage) {
      InvalidationClientCore.this.handleIncomingMessage(incomingMessage);
    }
    @Override
    public void onOnlineStatusChange(boolean isOnline) {
      InvalidationClientCore.this.handleNetworkStatusChange(isOnline);
    }
    @Override
    public void onAddressChange() {
      // Send a message to the server. The header will include the new network address.
      Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");
      sendInfoMessageToServer(false, false);
    }
  });
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:23,代码来源:InvalidationClientCore.java


示例3: Batcher

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/** Creates a batcher from {@code marshalledState}. */
Batcher(SystemResources resources, Statistics statistics, BatcherState marshalledState) {
  this(resources, statistics);
  for (ObjectIdP registration : marshalledState.getRegistration()) {
    pendingRegistrations.put(registration, RegistrationP.OpType.REGISTER);
  }
  for (ObjectIdP unregistration : marshalledState.getUnregistration()) {
    pendingRegistrations.put(unregistration, RegistrationP.OpType.UNREGISTER);
  }
  for (InvalidationP ack : marshalledState.getAcknowledgement()) {
    pendingAckedInvalidations.add(ack);
  }
  for (RegistrationSubtree subtree : marshalledState.getRegistrationSubtree()) {
    pendingRegSubtrees.add(subtree);
  }
  pendingInitializeMessage = marshalledState.getNullableInitializeMessage();
  if (marshalledState.hasInfoMessage()) {
    pendingInfoMessage = marshalledState.getInfoMessage();
  }
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:21,代码来源:ProtocolHandler.java


示例4: ProtocolHandler

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * 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());
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:35,代码来源:ProtocolHandler.java


示例5: InvalidationClientCore

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * Constructs a client with state initialized from {@code marshalledState}.
 *
 * @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 listener application callback
 */
public InvalidationClientCore(final SystemResources resources, Random random, int clientType,
    final byte[] clientName, ClientConfigP config, String applicationName,
    InvalidationClientState marshalledState, InvalidationListener listener) {
  this(resources, random, clientType, clientName, config, applicationName,
      marshalledState.getRunState(), marshalledState.getRegistrationManagerState(),
      marshalledState.getProtocolHandlerState(), marshalledState.getStatisticsState(), listener);
  // Unmarshall.
  if (marshalledState.hasClientToken()) {
    clientToken = marshalledState.getClientToken();
  }
  if (marshalledState.hasNonce()) {
    nonce = marshalledState.getNonce();
  }
  this.shouldSendRegistrations = marshalledState.getShouldSendRegistrations();
  this.lastMessageSendTimeMs = marshalledState.getLastMessageSendTimeMs();
  this.isOnline = marshalledState.getIsOnline();
  createSchedulingTasks(marshalledState);

  // We register with the network after unmarshalling our isOnline value. This is because when
  // we register with the network, it may give us a new value for isOnline. If we unmarshalled
  // after registering, then we would clobber the new value with the old marshalled value, which
  // is wrong.
  registerWithNetwork(resources);
  logger.info("Created client: %s", this);
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:37,代码来源:InvalidationClientCore.java


示例6: registerWithNetwork

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * Registers handlers for received messages and network status changes with the network of
 * {@code resources}.
 */
private void registerWithNetwork(final SystemResources resources) {
  resources.getNetwork().setListener(new NetworkChannel.NetworkListener() {
    @Override
    public void onMessageReceived(byte[] incomingMessage) {
      final String name = "handleIncomingMessage";
      InvalidationClientCore.this.handleIncomingMessage(incomingMessage);
    }
    @Override
    public void onOnlineStatusChange(boolean isOnline) {
      InvalidationClientCore.this.handleNetworkStatusChange(isOnline);
    }
    @Override
    public void onAddressChange() {
      // Send a message to the server. The header will include the new network address.
      Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");
      sendInfoMessageToServer(false, false);
    }
  });
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:24,代码来源:InvalidationClientCore.java


示例7: retryUntilSuccessWithBackoff

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * A utility function to run an async runnable with exponential backoff after failures.
 * @param runnable the asynchronous runnable.
 * @param scheduler used to schedule retries.
 * @param backOffGenerator a backoff generator that returns how to long to wait between retries.
 *     The client must pass a new instance or reset the backoff generator before calling this
 *     method.
 */

static void retryUntilSuccessWithBackoff(final SystemResources.Scheduler scheduler,
    final ExponentialBackoffDelayGenerator backOffGenerator, final AsyncRunnable runnable) {
  logger.fine("Running %s", runnable);
  runnable.run(new CompletionCallback() {
      @Override
      public void success() {
        logger.fine("%s succeeded", runnable);
      }

      @Override
      public void failure() {
        int nextDelay = backOffGenerator.getNextDelay();
        logger.fine("%s failed, retrying after %s ms", nextDelay);
        scheduler.schedule(nextDelay, new Runnable() {
          @Override
          public void run() {
            retryUntilSuccessWithBackoff(scheduler, backOffGenerator, runnable);
          }
        });
      }
  });
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:32,代码来源:AndroidChannel.java


示例8: setSystemResources

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
@Override
public void setSystemResources(SystemResources resources) {
  this.resources = resources;

  // Prefetch the auth sub token.  Since this might require an HTTP round trip, we do this
  // as soon as the resources are available.
  // TODO: Find a better place to fetch the auth token; this method
  // doesn't sound like one that should be doing work.
  retryUntilSuccessWithBackoff(resources.getInternalScheduler(),
      new ExponentialBackoffDelayGenerator(
          new Random(), INITIAL_AUTH_TOKEN_RETRY_DELAY_MS, MAX_AUTH_TOKEN_RETRY_FACTOR),
      new AsyncRunnable() {
        @Override
        public void run(CompletionCallback callback) {
          requestAuthToken(callback);
        }
      });
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:19,代码来源:AndroidChannel.java


示例9: createClient

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * Creates a new InvalidationClient instance that the proxy will delegate requests to and listen
 * for events from.
 */
// Overridden by tests to inject mock clients or for listener interception

InvalidationClient createClient(SystemResources resources, int clientType, byte[] clientName,
    String applicationName, InvalidationListener listener, ClientConfigP config) {
  // We always use C2DM, so set the channel-supports-offline-delivery bit on our config.
  final ClientConfigP.Builder configBuilder;
  if (config == null) {
    configBuilder = InvalidationClientCore.createConfig();
  } else {
    configBuilder = ClientConfigP.newBuilder(config);
  }
  configBuilder.setChannelSupportsOfflineDelivery(true);
  config = configBuilder.build();
  Random random = new Random(resources.getInternalScheduler().getCurrentTimeMs());
  return new InvalidationClientImpl(resources, random, clientType, clientName, config,
      applicationName, listener);
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:22,代码来源:AndroidClientProxy.java


示例10: Batcher

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/** Creates a batcher from {@code marshalledState}. */
Batcher(SystemResources resources, Statistics statistics, BatcherState marshalledState) {
  this(resources, statistics);
  for (ObjectIdP registration : marshalledState.getRegistrationList()) {
    pendingRegistrations.put(ProtoWrapper.of(registration), RegistrationP.OpType.REGISTER);
  }
  for (ObjectIdP unregistration : marshalledState.getUnregistrationList()) {
    pendingRegistrations.put(ProtoWrapper.of(unregistration), RegistrationP.OpType.UNREGISTER);
  }
  for (InvalidationP ack : marshalledState.getAcknowledgementList()) {
    pendingAckedInvalidations.add(ProtoWrapper.of(ack));
  }
  for (RegistrationSubtree subtree : marshalledState.getRegistrationSubtreeList()) {
    pendingRegSubtrees.add(ProtoWrapper.of(subtree));
  }
  if (marshalledState.hasInitializeMessage()) {
    pendingInitializeMessage = marshalledState.getInitializeMessage();
  }
  if (marshalledState.hasInfoMessage()) {
    pendingInfoMessage = marshalledState.getInfoMessage();
  }
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:23,代码来源:ProtocolHandler.java


示例11: AndroidInvalidationClientImpl

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * Creates an instance with state restored from {@code marshalledState}. Other parameters are as
 * in {@link InvalidationClientCore}.
 */
AndroidInvalidationClientImpl(Context context, SystemResources resources, Random random,
    AndroidTiclState marshalledState) {
  super(resources,
      random,
      marshalledState.getMetadata().getClientType(),
      marshalledState.getMetadata().getClientName().getByteArray(),
      marshalledState.getMetadata().getClientConfig(),
      getApplicationName(context),
      marshalledState.getTiclState(),
      new IntentForwardingListener(context, resources.getLogger()));
  this.schedulingId = marshalledState.getMetadata().getTiclId();
  initializeSchedulerWithRecurringTasks();
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:18,代码来源:AndroidInvalidationClientImpl.java


示例12: restoreTicl

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * 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;
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:20,代码来源:TiclStateManager.java


示例13: createTicl

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/** Creates a new Ticl. Persistent storage must not exist. */
static void createTicl(Context context, SystemResources resources, int clientType,
    byte[] clientName, ClientConfigP config, boolean skipStartForTest) {
  Preconditions.checkState(!doesStateFileExist(context), "Ticl already exists");
  AndroidInvalidationClientImpl ticl = new AndroidInvalidationClientImpl(context, resources,
      random, clientType, clientName, config);
  if (!skipStartForTest) {
    // Ticls are started when created unless this should be skipped for tests; we allow tests
    // to skip starting Ticls because many integration tests assume that Ticls will not be
    // started when created.
    initScheduler(resources, ticl, new ArrayList<ScheduledTask>(0));
    ticl.start();
  }
  saveTicl(context, resources.getLogger(), ticl);
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:16,代码来源:TiclStateManager.java


示例14: initScheduler

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * 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);
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:11,代码来源:TiclStateManager.java


示例15: BatchingTask

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/** 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;
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:8,代码来源:InvalidationClientCore.java


示例16: InvalidationClientImpl

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
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);

}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:29,代码来源:InvalidationClientImpl.java


示例17: AndroidInvalidationClientImpl

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * Creates an instance with state restored from {@code marshalledState}. Other parameters are as
 * in {@link InvalidationClientCore}.
 */
AndroidInvalidationClientImpl(Context context, SystemResources resources, Random random,
    AndroidTiclState marshalledState) {
  super(resources,
      random,
      marshalledState.getMetadata().getClientType(),
      marshalledState.getMetadata().getClientName().toByteArray(),
      marshalledState.getMetadata().getClientConfig(),
      getApplicationName(context),
      marshalledState.getTiclState(),
      new IntentForwardingListener(context, resources.getLogger()));
  this.schedulingId = marshalledState.getMetadata().getTiclId();
  initializeSchedulerWithRecurringTasks();
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:18,代码来源:AndroidInvalidationClientImpl.java


示例18: restoreTicl

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * 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);
  setSchedulerId(resources, ticl);
  return ticl;
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:17,代码来源:TiclStateManager.java


示例19: createTicl

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/** Creates a new Ticl. Persistent stroage must not exist. */
static void createTicl(Context context, SystemResources resources, int clientType,
    byte[] clientName, ClientConfigP config, boolean skipStartForTest) {
  Preconditions.checkState(!doesStateFileExist(context), "Ticl already exists");
  AndroidInvalidationClientImpl ticl = new AndroidInvalidationClientImpl(context, resources,
      random, clientType, clientName, config);
  if (!skipStartForTest) {
    // Ticls are started when created unless this should be skipped for tests; we allow tests
    // to skip starting Ticls because many integration tests assume that Ticls will not be
    // started when created.
    setSchedulerId(resources, ticl);
    ticl.start();
  }
  saveTicl(context, resources.getLogger(), ticl);
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:16,代码来源:TiclStateManager.java


示例20: setSchedulerId

import com.google.ipc.invalidation.external.client.SystemResources; //导入依赖的package包/类
/**
 * 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());
}
 
开发者ID:morristech,项目名称:android-chromium,代码行数:10,代码来源:TiclStateManager.java



注:本文中的com.google.ipc.invalidation.external.client.SystemResources类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Consumer类代码示例发布时间:2022-05-22
下一篇:
Java AMSimulator类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap