com.google.ipc.invalidation.ticl.ProtocolHandler.ServerMessageHeader Java Examples

The following examples show how to use com.google.ipc.invalidation.ticl.ProtocolHandler.ServerMessageHeader. 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 android-chromium with BSD 2-Clause "Simplified" License 6 votes vote down vote up
/** Handles a server {@code header}. */
private void handleIncomingHeader(ServerMessageHeader header) {
  Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");
  Preconditions.checkState(nonce == null,
      "Cannot process server header with non-null nonce (have %s): %s", nonce, header);
  if (header.registrationSummary != null) {
    // We've received a summary from the server, so if we were suppressing
    // registrations, we should now allow them to go to the registrar.
    shouldSendRegistrations = true;

    // Pass the registration summary to the registration manager. If we are now in agreement
    // with the server and we had any pending operations, we can tell the listener that those
    // operations have succeeded.
    Set<ProtoWrapper<RegistrationP>> upcalls =
        registrationManager.informServerRegistrationSummary(header.registrationSummary);
    logger.fine("Receivced new server registration summary (%s); will make %s upcalls",
        header.registrationSummary, upcalls.size());
    for (ProtoWrapper<RegistrationP> upcall : upcalls) {
      RegistrationP registration = upcall.getProto();
      ObjectId objectId = ProtoConverter.convertFromObjectIdProto(registration.getObjectId());
      RegistrationState regState = convertOpTypeToRegState(registration.getOpType());
      listener.informRegistrationStatus(this, objectId, regState);
    }
  }
}
 
Example #2
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 6 votes vote down vote up
/** Handles a server {@code header}. */
private void handleIncomingHeader(ServerMessageHeader header) {
  Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");
  Preconditions.checkState(nonce == null,
      "Cannot process server header with non-null nonce (have %s): %s", nonce, header);
  if (header.registrationSummary != null) {
    // We've received a summary from the server, so if we were suppressing
    // registrations, we should now allow them to go to the registrar.
    shouldSendRegistrations = true;

    // Pass the registration summary to the registration manager. If we are now in agreement
    // with the server and we had any pending operations, we can tell the listener that those
    // operations have succeeded.
    Set<ProtoWrapper<RegistrationP>> upcalls =
        registrationManager.informServerRegistrationSummary(header.registrationSummary);
    logger.fine("Receivced new server registration summary (%s); will make %s upcalls",
        header.registrationSummary, upcalls.size());
    for (ProtoWrapper<RegistrationP> upcall : upcalls) {
      RegistrationP registration = upcall.getProto();
      ObjectId objectId = ProtoConverter.convertFromObjectIdProto(registration.getObjectId());
      RegistrationState regState = convertOpTypeToRegState(registration.getOpType());
      listener.informRegistrationStatus(this, objectId, regState);
    }
  }
}
 
Example #3
Source File: InvalidationClientCore.java    From 365browser with Apache License 2.0 5 votes vote down vote up
/** Handles a server {@code header}. */
private void handleIncomingHeader(ServerMessageHeader header) {
  Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");
  if (nonce != null) {
    throw new IllegalStateException(
        "Cannot process server header with non-null nonce (have " + nonce + "): " + header);
  }
  if (header.registrationSummary != null) {
    // We've received a summary from the server, so if we were suppressing registrations, we
    // should now allow them to go to the registrar.
    shouldSendRegistrations = true;

    // Pass the registration summary to the registration manager. If we are now in agreement
    // with the server and we had any pending operations, we can tell the listener that those
    // operations have succeeded.
    Set<RegistrationP> upcalls =
        registrationManager.informServerRegistrationSummary(header.registrationSummary);
    logger.fine("Received new server registration summary (%s); will make %s upcalls",
        header.registrationSummary, upcalls.size());
    for (RegistrationP registration : upcalls) {
      ObjectId objectId =
          ProtoWrapperConverter.convertFromObjectIdProto(registration.getObjectId());
      RegistrationState regState = convertOpTypeToRegState(registration.getOpType());
      listener.informRegistrationStatus(this, objectId, regState);
    }
  }
}
 
Example #4
Source File: InvalidationClientCore.java    From 365browser with Apache License 2.0 5 votes vote down vote up
/** Handles an error message. */
private void handleErrorMessage(ServerMessageHeader header, int code, String description) {
  Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");

  // If it is an auth failure, we shut down the ticl.
  logger.severe("Received error message: %s, %s, %s", header, code, description);

  // Translate the code to error reason.
  int reason;
  switch (code) {
    case ErrorMessage.Code.AUTH_FAILURE:
      reason = ErrorInfo.ErrorReason.AUTH_FAILURE;
      break;
    case ErrorMessage.Code.UNKNOWN_FAILURE:
    default:
      reason = ErrorInfo.ErrorReason.UNKNOWN_FAILURE;
      break;
  }

  // Issue an informError to the application.
  ErrorInfo errorInfo = ErrorInfo.newInstance(reason, false, description, null);
  listener.informError(this, errorInfo);

  // If this is an auth failure, remove registrations and stop the Ticl. Otherwise do nothing.
  if (code != ErrorMessage.Code.AUTH_FAILURE) {
    return;
  }

  // If there are any registrations, remove them and issue registration failure.
  Collection<ObjectIdP> desiredRegistrations = registrationManager.removeRegisteredObjects();
  logger.warning("Issuing failure for %s objects", desiredRegistrations.size());
  for (ObjectIdP objectId : desiredRegistrations) {
    listener.informRegistrationFailure(this,
        ProtoWrapperConverter.convertFromObjectIdProto(objectId), false,
        "Auth error: " + description);
  }
}
 
Example #5
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 4 votes vote down vote up
/** Handles an error message. */
private void handleErrorMessage(ServerMessageHeader header,
    ErrorMessage.Code code, String description) {
  Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");

  // If it is an auth failure, we shut down the ticl.
  logger.severe("Received error message: %s, %s, %s", header, code, description);

  // Translate the code to error reason.
  int reason;
  switch (code) {
    case AUTH_FAILURE:
      reason = ErrorInfo.ErrorReason.AUTH_FAILURE;
      break;
    case UNKNOWN_FAILURE:
      reason = ErrorInfo.ErrorReason.UNKNOWN_FAILURE;
      break;
    default:
      reason = ErrorInfo.ErrorReason.UNKNOWN_FAILURE;
      break;
  }

  // Issue an informError to the application.
  ErrorInfo errorInfo = ErrorInfo.newInstance(reason, false, description, null);
  listener.informError(this, errorInfo);

  // If this is an auth failure, remove registrations and stop the Ticl. Otherwise do nothing.
  if (code != ErrorMessage.Code.AUTH_FAILURE) {
    return;
  }

  // If there are any registrations, remove them and issue registration failure.
  Collection<ProtoWrapper<ObjectIdP>> desiredRegistrations =
      registrationManager.removeRegisteredObjects();
  logger.warning("Issuing failure for %s objects", desiredRegistrations.size());
  for (ProtoWrapper<ObjectIdP> objectIdWrapper : desiredRegistrations) {
    ObjectIdP objectId = objectIdWrapper.getProto();
    listener.informRegistrationFailure(this,
      ProtoConverter.convertFromObjectIdProto(objectId), false, "Auth error: " + description);
  }
}
 
Example #6
Source File: InvalidationClientCore.java    From android-chromium with BSD 2-Clause "Simplified" License 4 votes vote down vote up
/** Handles an error message. */
private void handleErrorMessage(ServerMessageHeader header,
    ErrorMessage.Code code, String description) {
  Preconditions.checkState(internalScheduler.isRunningOnThread(), "Not on internal thread");

  // If it is an auth failure, we shut down the ticl.
  logger.severe("Received error message: %s, %s, %s", header, code, description);

  // Translate the code to error reason.
  int reason;
  switch (code) {
    case AUTH_FAILURE:
      reason = ErrorInfo.ErrorReason.AUTH_FAILURE;
      break;
    case UNKNOWN_FAILURE:
      reason = ErrorInfo.ErrorReason.UNKNOWN_FAILURE;
      break;
    default:
      reason = ErrorInfo.ErrorReason.UNKNOWN_FAILURE;
      break;
  }

  // Issue an informError to the application.
  ErrorInfo errorInfo = ErrorInfo.newInstance(reason, false, description, null);
  listener.informError(this, errorInfo);

  // If this is an auth failure, remove registrations and stop the Ticl. Otherwise do nothing.
  if (code != ErrorMessage.Code.AUTH_FAILURE) {
    return;
  }

  // If there are any registrations, remove them and issue registration failure.
  Collection<ProtoWrapper<ObjectIdP>> desiredRegistrations =
      registrationManager.removeRegisteredObjects();
  logger.warning("Issuing failure for %s objects", desiredRegistrations.size());
  for (ProtoWrapper<ObjectIdP> objectIdWrapper : desiredRegistrations) {
    ObjectIdP objectId = objectIdWrapper.getProto();
    listener.informRegistrationFailure(this,
      ProtoConverter.convertFromObjectIdProto(objectId), false, "Auth error: " + description);
  }
}