// Copyright (c) 2011 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.websocket; import java.io.IOException; import org.chromium.sdk.RelayOk; import org.chromium.sdk.SyncCallback; import org.chromium.sdk.util.SignalRelay; /** * Abstract interface to WebSocket implementation that hides a particular specification * version. */ public interface WsConnection { void startListening(Listener listener); void sendTextualMessage(String message) throws IOException; RelayOk runInDispatchThread(Runnable runnable, SyncCallback syncCallback); SignalRelay<?> getCloser(); interface Listener { void textMessageRecieved(String text); /** * Some non-fatal error happened. */ void errorMessage(Exception ex); /** * Connection has been closed. Message is called from Dispatch thread. */ void eofMessage(); } }