Search in sources :

Example 1 with Header

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);
}
Also used : Serializable(java.io.Serializable) Message(com.twosigma.beakerx.message.Message) Header(com.twosigma.beakerx.message.Header) HashMap(java.util.HashMap) Comm(com.twosigma.beakerx.kernel.comm.Comm)

Example 2 with Header

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;
}
Also used : Message(com.twosigma.beakerx.message.Message) Header(com.twosigma.beakerx.message.Header)

Example 3 with Header

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));
}
Also used : Serializable(java.io.Serializable) Message(com.twosigma.beakerx.message.Message) Header(com.twosigma.beakerx.message.Header) HashMap(java.util.HashMap)

Example 4 with Header

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);
}
Also used : Serializable(java.io.Serializable) Message(com.twosigma.beakerx.message.Message) Header(com.twosigma.beakerx.message.Header) HashMap(java.util.HashMap)

Example 5 with Header

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));
}
Also used : Serializable(java.io.Serializable) Message(com.twosigma.beakerx.message.Message) Header(com.twosigma.beakerx.message.Header) HashMap(java.util.HashMap)

Aggregations

Header (com.twosigma.beakerx.message.Header)25 Message (com.twosigma.beakerx.message.Message)23 Serializable (java.io.Serializable)12 HashMap (java.util.HashMap)12 Test (org.junit.Test)6 MessageTest (com.twosigma.beakerx.message.MessageTest)5 EvaluatorResultTestWatcher.waitForIdleMessage (com.twosigma.beakerx.evaluator.EvaluatorResultTestWatcher.waitForIdleMessage)2 Comm (com.twosigma.beakerx.kernel.comm.Comm)2 LinkedHashMap (java.util.LinkedHashMap)2 KernelTest (com.twosigma.beakerx.KernelTest)1 MessageFactoryTest.getExecuteRequestMessage (com.twosigma.beakerx.MessageFactoryTest.getExecuteRequestMessage)1 EvaluatorResultTestWatcher.waitForErrorMessage (com.twosigma.beakerx.evaluator.EvaluatorResultTestWatcher.waitForErrorMessage)1 EvaluatorResultTestWatcher.waitForUpdateMessage (com.twosigma.beakerx.evaluator.EvaluatorResultTestWatcher.waitForUpdateMessage)1 EvaluatorTest (com.twosigma.beakerx.evaluator.EvaluatorTest)1 KernelHandler (com.twosigma.beakerx.handler.KernelHandler)1 KernelHandlerWrapper.wrapBusyIdle (com.twosigma.beakerx.handler.KernelHandlerWrapper.wrapBusyIdle)1 KernelFunctionality (com.twosigma.beakerx.kernel.KernelFunctionality)1 COMMS (com.twosigma.beakerx.kernel.comm.Comm.COMMS)1 TARGET_NAME (com.twosigma.beakerx.kernel.comm.Comm.TARGET_NAME)1 JupyterMessages (com.twosigma.beakerx.kernel.msg.JupyterMessages)1