@Override public List<Socket> createSockets(ZContext ctx, Object... args) { //create replies pipe that will forward replies to user replies = ctx.createSocket(ZMQ.PAIR); assert (replies != null); //create ZAP handler and get ready for requests Socket handler = ctx.createSocket(ZMQ.REP); assert (handler != null); return Arrays.asList(handler, replies); }
ZContext context = new ZContext(); frontend = context.createSocket(ZMQ.XSUB); System.out.println("Subscriber connecting to: " + addressSubscriber); frontend.connect(addressSubscriber); backend = context.createSocket(ZMQ.XPUB); System.out.println("Publisher binding to: " + addressPublisher); backend.bind(addressPublisher); context.destroy();
public void close() { if (socket != null) { socket.send("/disconnect"); socket.close(); socket = null; } if (ctx != null) { ctx.close(); ctx = null; } isAvailable.set(false); } }
/** * Creates new shadow context. * Shares same underlying org.zeromq.Context instance but has own list * of managed sockets, io thread count etc. * @param ctx Original ZContext to create shadow of * @return New ZContext */ public static ZContext shadow(ZContext ctx) { ZContext context = new ZContext(ctx.getContext(), false, ctx.ioThreads); context.linger = ctx.linger; context.sndhwm = ctx.sndhwm; context.rcvhwm = ctx.rcvhwm; context.pipehwm = ctx.pipehwm; return context; }
/** * Destructor. Call this to gracefully terminate context and close any managed 0MQ sockets */ public void destroy() { for (Socket socket : sockets) { destroySocket(socket); } sockets.clear(); // Only terminate context if we are on the main thread if (isMain() && context != null) { context.term(); context = null; } }
@Override public void run() { Thread.currentThread().setName("pseudo-repl-server"); ZContext ctx = new ZContext(); try (ZMQ.Socket server = ctx.createSocket(ZMQ.ROUTER); ZMQ.Socket completerSock = ctx.createSocket(ZMQ.ROUTER)){ int port = Env.getInt("repl.port", 0); String host = Env.getString("repl.host", "localhost"); } finally { ctx.close(); try { threadPool.shutdown();
public static void runKernelDebug(Session session) throws FileNotFoundException, InvalidKeyException, UnsupportedEncodingException, IOException { Session._DEBUG_ = true; ZContext ctx = new ZContext(); Socket channel = ctx.createSocket(ZMQ.REP); channel.bind("tcp://127.0.0.1:2222"); byte[] msg = channel.recv(); String sArgs = new String(msg, StandardCharsets.UTF_8); String[] newArgs = sArgs.split(" "); channel.send("ok"); runKernel(session, newArgs); }
@Override public void run() { if (closed) { return; } if (null == zmq) { zmq = new ZContext(ioThreadCount); shutdownCtx = true; } socket = zmq.createSocket(socketType); socket.setIdentity(id.toString().getBytes()); configure(socket); pollin = new ZMQ.PollItem(socket, ZMQ.Poller.POLLIN); if (log.isTraceEnabled()) { zloop.verbose(true); } zloop.addPoller(pollin, inputHandler, null); start(socket); zloop.start(); zmq.destroySocket(socket); }
@Override public void run() { LOG.info("Started Worker " + identity); worker = context.createSocket(ZMQ.DEALER); worker.setIdentity(identity.getBytes()); worker.connect(bindAddr); try { loop(); } catch (ZMQException e) { if (e.getErrorCode() != ZMQ.Error.ETERM.getCode()) throw e; } context.destroy(); LOG.info("Ended Reader Worker " + identity); }
private SmartContext(int numSocket) { context = new ZContext(numSocket); }
public static Socket fork(ZContext ctx, IAttachedRunnable runnable, Object... args) { Socket pipe = ctx.createSocket(ZMQ.PAIR); if (pipe != null) { pipe.bind(String.format("inproc://zctx-pipe-%d", pipe.hashCode())); } else { return null; } // Connect child pipe to our pipe ZContext ccontext = ZContext.shadow(ctx); Socket cpipe = ccontext.createSocket(ZMQ.PAIR); if (cpipe == null) { return null; } cpipe.connect(String.format("inproc://zctx-pipe-%d", pipe.hashCode())); // Prepare child thread Thread shim = new ShimThread(ccontext, runnable, args, cpipe); shim.start(); return pipe; } }
@Override public void close() { destroy(); }
public void start() { context = new ZContext(); // fix lazy creation context.setContext(ZMQ.context(Integer.parseInt(conf.getProperty("io_threads", "1")))); ZPWriter writer = new ZPWriter(context, conf); ZPReader reader = new ZPReader(context, conf); try { writer.start(); reader.start(); } finally { writer.shutdown(); reader.shutdown(); destoryed = true; } }
public void close(Socket socket) { try { logger.debug("close socket {}: {}", socket, socket); socket.setLinger(0); context.destroySocket(socket); } catch (ZMQException|zmq.ZError.IOException|zmq.ZError.CtxTerminatedException|zmq.ZError.InstantiationException e) { ZMQHelper.logZMQException(logger, "close " + socket, e); } catch (java.nio.channels.ClosedSelectorException e) { logger.debug("in close: " + e); } catch (Exception e) { logger.error("in close: " + e); } finally { } }
@Override public void run() { Thread.currentThread().setName("pseudo-repl-server"); ZContext ctx = new ZContext(); try (ZMQ.Socket server = ctx.createSocket(ZMQ.ROUTER); ZMQ.Socket completerSock = ctx.createSocket(ZMQ.ROUTER)){ int port = Env.getInt("repl.port", 0); String host = Env.getString("repl.host", "localhost"); } finally { ctx.close(); try { threadPool.shutdown();
boolean createSockets() { ctx = new ZContext(); String ip = (String) connectionData.get("ip"); String transport = (String) connectionData.get("transport"); Heartbeat = ctx.createSocket(ZMQ.REP); Heartbeat.bind(String.format("%s://%s:%s", transport, ip, connectionData.get("hb_port") Shell = ctx.createSocket(ZMQ.ROUTER); Shell.bind(shellAddress); Control = ctx.createSocket(ZMQ.ROUTER); Control.bind(String.format("%s://%s:%s", transport, ip, connectionData.get("control_port") IOPub = ctx.createSocket(ZMQ.PUB); IOPub.bind(String.format("%s://%s:%s", transport, ip, connectionData.get("iopub_port") )); Stdin = ctx.createSocket(ZMQ.ROUTER); Stdin.connect(String.format("%s://%s:%s", transport, ip, connectionData.get("stdin_port")
@Override public void run() { try { if (closed) { return; } if (null == zmq) { zmq = new ZContext(ioThreadCount); shutdownCtx = true; } socket = zmq.createSocket(socketType); socket.setIdentity(id.toString().getBytes()); configure(socket); pollin = new ZMQ.PollItem(socket, ZMQ.Poller.POLLIN); if (log.isDebugEnabled()) { zloop.verbose(true); } zloop.addPoller(pollin, inputHandler, null); start(socket); zloop.start(); zmq.destroySocket(socket); } catch (Exception e) { b.onError(e); } }
@Override public void run() { LOG.info("Started Worker " + identity); worker = context.createSocket(ZMQ.DEALER); worker.setRcvHWM(2000); worker.setIdentity(identity.getBytes()); worker.connect(bindAddr); try { loop(); } catch (ZMQException e) { if (e.getErrorCode() != ZMQ.Error.ETERM.getCode()) throw e; } LOG.info("Ended Writer Worker " + identity); context.destroy(); }
if (chef == null) { chef = new ZContext();