Package org.chromium.sdk.internal.transport

Source Code of org.chromium.sdk.internal.transport.ControlledFakeConnection

// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package org.chromium.sdk.internal.transport;

import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;

import org.chromium.sdk.internal.transport.Message;

public class ControlledFakeConnection extends FakeConnection {

  private final Queue<Message> messages = new ConcurrentLinkedQueue<Message>();
  private boolean isContinuousProcessing = false;

  public ControlledFakeConnection(ChromeStub responder) {
    super(responder);
  }

  @Override
  public void send(Message message) {
    if (isContinuousProcessing) {
      super.send(message);
    } else {
      messages.add(message);
    }
  }

  public void setContinuousProcessing(boolean enabled) {
    this.isContinuousProcessing = enabled;
  }

  public void processMessages(int count) {
    for (int i = 0; i < count; i++) {
      Message polled = messages.poll();
      if (polled == null) {
        break;
      }
      super.send(polled);
    }
  }
}
TOP

Related Classes of org.chromium.sdk.internal.transport.ControlledFakeConnection

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.