package io.vertx.core.http.impl;
import io.netty.buffer.ByteBuf;
import io.vertx.core.AsyncResult;
import io.vertx.core.Handler;
import io.vertx.core.MultiMap;
import io.vertx.core.Promise;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.http.HttpFrame;
import io.vertx.core.http.HttpVersion;
import io.vertx.core.http.StreamPriority;
import io.vertx.core.impl.ContextInternal;
import io.vertx.core.net.NetSocket;
public interface HttpClientStream {
int id();
Object metric();
HttpVersion version();
HttpClientConnection connection();
ContextInternal getContext();
void writeHead(HttpRequestHead request,
boolean chunked,
ByteBuf buf,
boolean end,
StreamPriority priority,
boolean connect,
Handler<AsyncResult<Void>> handler);
void writeBuffer(ByteBuf buf, boolean end, Handler<AsyncResult<Void>> listener);
void writeFrame(int type, int flags, ByteBuf payload);
void continueHandler(Handler<Void> handler);
void drainHandler(Handler<Void> handler);
void pushHandler(Handler<HttpClientPush> handler);
void unknownFrameHandler(Handler<HttpFrame> handler);
void exceptionHandler(Handler<Throwable> handler);
void headHandler(Handler<HttpResponseHead> handler);
void chunkHandler(Handler<Buffer> handler);
void endHandler(Handler<MultiMap> handler);
void priorityHandler(Handler<StreamPriority> handler);
void doSetWriteQueueMaxSize(int size);
boolean isNotWritable();
void doPause();
void doFetch(long amount);
void reset(Throwable cause);
StreamPriority priority();
void updatePriority(StreamPriority streamPriority);
}