package rescuecore2.messages.control;
import rescuecore2.messages.Control;
import rescuecore2.messages.AbstractMessage;
import rescuecore2.messages.components.StringComponent;
import rescuecore2.messages.components.IntComponent;
import java.io.InputStream;
import java.io.IOException;
/**
A message for signalling an unsuccessful connection to the kernel.
*/
public class KVConnectError extends AbstractMessage implements Control {
private IntComponent requestID;
private StringComponent reason;
/**
A KVConnectError message that populates its data from a stream.
@param in The InputStream to read.
@throws IOException If there is a problem reading the stream.
*/
public KVConnectError(InputStream in) throws IOException {
this();
read(in);
}
/**
A KVConnectError with specified request ID and reason.
@param requestID The request ID.
@param message The reason for the error.
*/
public KVConnectError(int requestID, String message) {
this();
this.requestID.setValue(requestID);
reason.setValue(message);
}
private KVConnectError() {
super(ControlMessageURN.KV_CONNECT_ERROR);
requestID = new IntComponent("Request ID");
reason = new StringComponent("Reason");
addMessageComponent(requestID);
addMessageComponent(reason);
}
/**
Get the reason for the error.
@return The reason for the error.
*/
public String getReason() {
return reason.getValue();
}
/**
Get the request ID.
@return The request ID.
*/
public int getRequestID() {
return requestID.getValue();
}
}