blob: cf952fece02f5f3cd422ea42a8e0393e2afdf959 [file] [log] [blame]
//
// ========================================================================
// Copyright (c) 1995-2017 Mort Bay Consulting Pty. Ltd.
// ------------------------------------------------------------------------
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
//
// The Eclipse Public License is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// The Apache License v2.0 is available at
// http://www.opensource.org/licenses/apache2.0.php
//
// You may elect to redistribute this code under either of these licenses.
// ========================================================================
//
package org.eclipse.jetty.websocket.common.test;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.util.concurrent.TimeUnit;
import org.eclipse.jetty.toolchain.test.EventQueue;
import org.eclipse.jetty.websocket.common.WebSocketFrame;
/**
* Interface for BlockheadClient.
*/
public interface IBlockheadClient extends AutoCloseable
{
public void addExtensions(String xtension);
public void addHeader(String header);
public boolean awaitDisconnect(long timeout, TimeUnit unit) throws InterruptedException;
public void close();
public void close(int statusCode, String message);
public void connect() throws IOException;
public void disconnect();
public void expectServerDisconnect();
public HttpResponse expectUpgradeResponse() throws IOException;
public InetSocketAddress getLocalSocketAddress();
public String getProtocols();
public InetSocketAddress getRemoteSocketAddress();
public EventQueue<WebSocketFrame> readFrames(int expectedFrameCount, int timeoutDuration, TimeUnit timeoutUnit) throws Exception;
public HttpResponse readResponseHeader() throws IOException;
public void sendStandardRequest() throws IOException;
public void setConnectionValue(String connectionValue);
public void setProtocols(String protocols);
public void setTimeout(int duration, TimeUnit unit);
public void write(WebSocketFrame frame) throws IOException;
public void writeRaw(ByteBuffer buf) throws IOException;
public void writeRaw(ByteBuffer buf, int numBytes) throws IOException;
public void writeRaw(String str) throws IOException;
public void writeRawSlowly(ByteBuffer buf, int segmentSize) throws IOException;
}