src/protocol/session.js
function runSession(evaluator, config) {
  _session.signer = signers.create(config.signature_scheme, config.key);
  _session.io = createSocket('pub', config.ip, config.iopub_port);
  _session.shell = createSocket('xrep', config.ip, config.shell_port, messageHandler);
  _session.control = createSocket('xrep', config.ip, config.control_port, messageHandler);

  _session.evaluator = evaluator;
  _session.handlers = handlers.create(_session);

  createSocket('rep', config.ip, config.hb_port, heartbeatHandler);
}
function runSession(evaluator, config) {
  _session.signer = signers.create(config.signature_scheme, config.key);
  _session.io = createSocket('pub', config.ip, config.iopub_port);
  _session.shell = createSocket('xrep', config.ip, config.shell_port, messageHandler);
  _session.control = createSocket('xrep', config.ip, config.control_port, messageHandler);

  _session.evaluator = evaluator;
  _session.handlers = handlers.create(_session);

  createSocket('rep', config.ip, config.hb_port, heartbeatHandler);
}
Runs the session by creating the sockets, and sets up message handlers.