use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class CommOpenHandler method handleMsg.
private void handleMsg(Message message) {
logger.debug("Processing CommOpenHandler");
Message reply = new Message();
HashMap<String, Serializable> map = new HashMap<>(6);
Map<String, Serializable> commMap = message.getContent();
Comm newComm = null;
if (isValidMessage(commMap)) {
newComm = readComm(commMap);
reply.setHeader(new Header(COMM_OPEN, message.getHeader().getSession()));
map.put(COMM_ID, newComm.getCommId());
map.put(TARGET_NAME, newComm.getTargetName());
map.put(DATA, new HashMap<>());
map.put(TARGET_MODULE, newComm.getTargetModule());
} else {
reply.setHeader(new Header(COMM_CLOSE, message.getHeader().getSession()));
map.put(DATA, new HashMap<>());
}
if (newComm != null) {
logger.debug("Comm opened, target name = " + newComm.getTargetName());
for (Handler<Message> handler : getKernelControlChanelHandlers(newComm.getTargetName())) {
newComm.addMsgCallbackList(handler);
}
kernel.addComm(newComm.getCommId(), newComm);
}
reply.setContent(map);
reply.setParentHeader(message.getHeader());
reply.setIdentities(message.getIdentities());
send(reply);
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class Comm method messageMessage.
public static Message messageMessage(JupyterMessages type, Buffer buffer, Map<String, Serializable> content, Message parentMessage) {
Message message = new Message();
message.setHeader(new Header(type, parentMessage != null ? parentMessage.getHeader().getSession() : null));
if (parentMessage != null) {
message.setParentHeader(parentMessage.getHeader());
}
message.setContent(content);
message.setMetadata(buildMetadata());
if (!buffer.isEmpty()) {
message.setBuffers(buffer.getBuffers());
}
return message;
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class Comm method close.
public void close() {
Message parentMessage = getParentMessage();
if (this.getCloseCallbackList() != null && !this.getCloseCallbackList().isEmpty()) {
for (Handler<Message> handler : getCloseCallbackList()) {
handler.handle(parentMessage);
}
}
Message message = new Message();
message.setHeader(new Header(COMM_CLOSE, parentMessage != null ? parentMessage.getHeader().getSession() : null));
if (parentMessage != null) {
message.setParentHeader(parentMessage.getHeader());
}
HashMap<String, Serializable> map = new HashMap<>();
map.put(COMM_ID, getCommId());
map.put(DATA, new HashMap<>());
map.put(METADATA, new HashMap<>());
message.setContent(map);
message.setMetadata(buildMetadata());
kernel.removeComm(getCommId());
kernel.publish(singletonList(message));
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class CommCloseHandler method handleMsg.
private void handleMsg(Message message) {
logger.debug("Processing CommCloseHandler");
Map<String, Serializable> commMap = message.getContent();
String targetName = (kernel.getComm(getString(commMap, COMM_ID)) != null) ? kernel.getComm(getString(commMap, COMM_ID)).getTargetName() : "";
kernel.removeComm(getString(commMap, COMM_ID));
Message reply = new Message();
reply.setHeader(new Header(COMM_CLOSE, message.getHeader().getSession()));
HashMap<String, Serializable> map = new HashMap<>();
map.put(DATA, new HashMap<>());
reply.setContent(map);
reply.setParentHeader(message.getHeader());
reply.setIdentities(message.getIdentities());
send(reply);
logger.debug("Comm closed, target name = " + targetName);
}
use of com.twosigma.beakerx.message.Header in project beakerx by twosigma.
the class ExecuteRequestHandler method announceTheCode.
private void announceTheCode(Message message, String code) {
Message reply = new Message();
reply.setParentHeader(message.getHeader());
reply.setIdentities(message.getIdentities());
reply.setHeader(new Header(EXECUTE_INPUT, message.getHeader().getSession()));
Map<String, Serializable> map1 = new HashMap<>(2);
map1.put("execution_count", executionCount);
map1.put("code", code);
reply.setContent(map1);
kernel.publish(singletonList(reply));
}
Aggregations