package launchserver.response;
import java.io.IOException;
import launcher.LauncherAPI;
import launcher.serialize.HInput;
import launcher.serialize.HOutput;
import launchserver.LaunchServer;
public abstract class Response {
@LauncherAPI protected final LaunchServer server;
@LauncherAPI protected final HInput input;
@LauncherAPI protected final HOutput output;
@LauncherAPI
protected Response(LaunchServer server, HInput input, HOutput output) {
this.server = server;
this.input = input;
this.output = output;
}
@LauncherAPI
public abstract void reply() throws Exception;
@LauncherAPI
protected final void writeNoError(HOutput output) throws IOException {
output.writeString("", 0);
}
@FunctionalInterface
public interface Factory {
@LauncherAPI
Response newResponse(LaunchServer server, HInput input, HOutput output);
}
}