package com.webpieces.http2engine.api.client; import java.util.concurrent.CompletableFuture; import org.webpieces.data.api.DataWrapper; import com.webpieces.hpack.api.dto.Http2Headers; import com.webpieces.http2engine.api.StreamWriter; public interface Http2ClientEngine { CompletableFuture<Void> sendInitializationToSocket(); /** * Future completes one the data is SENT! not when there is a response */ CompletableFuture<StreamWriter> sendFrameToSocket(Http2Headers headers, Http2ResponseListener responseListener); CompletableFuture<Void> sendPing(); void parse(DataWrapper newData); /** * completely tear down engine */ void farEndClosed(); void initiateClose(String reason); }