blob: 6b7bab1dfe632d94973edb0b50c989552e6c92b4 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.livy.rsc;
import org.apache.livy.Job;
import org.apache.livy.rsc.rpc.RpcDispatcher;
public abstract class BaseProtocol extends RpcDispatcher {
protected static class CancelJob {
public final String id;
CancelJob(String id) {
this.id = id;
}
CancelJob() {
this(null);
}
}
protected static class EndSession {
}
protected static class Error {
public final String cause;
public Error(Throwable cause) {
if (cause == null) {
this.cause = "";
} else {
this.cause = Utils.stackTraceAsString(cause);
}
}
public Error() {
this(null);
}
}
public static class BypassJobRequest {
public final String id;
public final String jobType;
public final byte[] serializedJob;
public final boolean synchronous;
public BypassJobRequest(String id, String jobType, byte[] serializedJob, boolean synchronous) {
this.id = id;
this.jobType = jobType;
this.serializedJob = serializedJob;
this.synchronous = synchronous;
}
public BypassJobRequest() {
this(null, null, null, false);
}
}
protected static class GetBypassJobStatus {
public final String id;
public GetBypassJobStatus(String id) {
this.id = id;
}
public GetBypassJobStatus() {
this(null);
}
}
protected static class JobRequest<T> {
public final String id;
public final Job<T> job;
public JobRequest(String id, Job<T> job) {
this.id = id;
this.job = job;
}
public JobRequest() {
this(null, null);
}
}
protected static class JobResult<T> {
public final String id;
public final T result;
public final String error;
public JobResult(String id, T result, Throwable error) {
this.id = id;
this.result = result;
this.error = error != null ? Utils.stackTraceAsString(error) : null;
}
public JobResult() {
this(null, null, null);
}
}
protected static class JobStarted {
public final String id;
public JobStarted(String id) {
this.id = id;
}
public JobStarted() {
this(null);
}
}
protected static class SyncJobRequest<T> {
public final Job<T> job;
public SyncJobRequest(Job<T> job) {
this.job = job;
}
public SyncJobRequest() {
this(null);
}
}
public static class RemoteDriverAddress {
public final String host;
public final int port;
public RemoteDriverAddress(String host, int port) {
this.host = host;
this.port = port;
}
public RemoteDriverAddress() {
this(null, -1);
}
}
public static class ReplJobRequest {
public final String code;
public final String codeType;
public ReplJobRequest(String code, String codeType) {
this.code = code;
this.codeType = codeType;
}
public ReplJobRequest() {
this(null, null);
}
}
public static class GetReplJobResults {
public boolean allResults;
public Integer from, size;
public GetReplJobResults(Integer from, Integer size) {
this.allResults = false;
this.from = from;
this.size = size;
}
public GetReplJobResults() {
this.allResults = true;
from = null;
size = null;
}
}
public static class ReplCompleteRequest {
public final String code;
public final String codeType;
public final int cursor;
public ReplCompleteRequest(String code, String codeType, int cursor) {
this.code = code;
this.codeType = codeType;
this.cursor = cursor;
}
public ReplCompleteRequest() {
this(null, null, 0);
}
}
protected static class ReplState {
public final String state;
public ReplState(String state) {
this.state = state;
}
public ReplState() {
this(null);
}
}
public static class CancelReplJobRequest {
public final int id;
public CancelReplJobRequest(int id) {
this.id = id;
}
public CancelReplJobRequest() {
this(-1);
}
}
public static class InitializationError {
public final String stackTrace;
public InitializationError(String stackTrace) {
this.stackTrace = stackTrace;
}
public InitializationError() {
this(null);
}
}
}