use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class BaseHandler method createReplyMessage.
protected Message createReplyMessage(Message message, Serializable responceData) {
Message ret = null;
if (message != null) {
ret = new Message();
Map<String, Serializable> commMap = message.getContent();
ret.setHeader(new Header(COMM_MSG, message.getHeader().getSession()));
HashMap<String, Serializable> map = new HashMap<>();
map.put(COMM_ID, getString(commMap, COMM_ID));
map.put(DATA, responceData);
ret.setContent(map);
}
return ret;
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class KernelSocketsZMQ method handleControlMsg.
private void handleControlMsg() {
Message message = readMessage(controlSocket);
JupyterMessages type = message.getHeader().getTypeEnum();
if (type.equals(SHUTDOWN_REQUEST)) {
Message reply = new Message();
reply.setHeader(new Header(SHUTDOWN_REPLY, message.getHeader().getSession()));
reply.setParentHeader(message.getHeader());
reply.setContent(message.getContent());
sendMsg(controlSocket, Collections.singletonList(reply));
shutdown();
}
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class KernelSocketsZMQ method readMessage.
private Message readMessage(ZMQ.Socket socket) {
ZMsg zmsg = null;
Message message = new Message();
try {
zmsg = ZMsg.recvMsg(socket);
ZFrame[] parts = new ZFrame[zmsg.size()];
zmsg.toArray(parts);
byte[] uuid = parts[MessageParts.UUID].getData();
byte[] header = parts[MessageParts.HEADER].getData();
byte[] parent = parts[MessageParts.PARENT].getData();
byte[] metadata = parts[MessageParts.METADATA].getData();
byte[] content = parts[MessageParts.CONTENT].getData();
byte[] expectedSig = parts[MessageParts.HMAC].getData();
verifyDelim(parts[MessageParts.DELIM]);
verifySignatures(expectedSig, header, parent, metadata, content);
if (uuid != null) {
message.getIdentities().add(uuid);
}
message.setHeader(parse(header, Header.class));
message.setParentHeader(parse(parent, Header.class));
message.setMetadata(parse(metadata, LinkedHashMap.class));
message.setContent(parse(content, LinkedHashMap.class));
} finally {
if (zmsg != null) {
zmsg.destroy();
}
}
return message;
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class KernelInfoHandler method handleMsg.
private void handleMsg(Message message) {
logger.debug("Processing kernel info request");
Message reply = new Message();
reply.setContent(content());
reply.setHeader(new Header(KERNEL_INFO_REPLY, message.getHeader().getSession()));
reply.setParentHeader(message.getHeader());
reply.setIdentities(message.getIdentities());
send(reply);
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class InspectHandler method createMsg.
private Message createMsg(Message message, InspectResult inspectResult) {
Message reply = new Message();
reply.setHeader(new Header(INSPECT_REPLY, message.getHeader().getSession()));
reply.setIdentities(message.getIdentities());
reply.setParentHeader(message.getHeader());
Map<String, Serializable> content = new HashMap<>();
content.put(STATUS, "ok");
content.put(DATA, inspectResult.getData());
// content.put(METADATA, {});
content.put(FOUND, inspectResult.getFound());
reply.setContent(content);
return reply;
}
Aggregations