/** * Closes an existing socket and creates a new one, binding it to the list of active service endpoints. */ private synchronized void reconnect() { if (!doRefresh.getAndSet(false)) { return; } if (controlSocket == null) { controlSocket = manager.createControlSocket(); } multiplexer.update(addresses); Collection<Socket> sockets = multiplexer.getAll(); pollers.clear(); for (Socket socket : sockets) { ZMQ.Poller poller = manager.getContext().poller(); poller.register(socket, ZMQ.Poller.POLLIN); poller.register(controlSocket, ZMQ.Poller.POLLIN); pollers.put(socket, poller); } } }
/** * Closes an existing socket and creates a new one, binding it to the list of active service endpoints. */ private void reconnect() { if (!doRefresh.getAndSet(false)) { return; } if (controlSocket == null) { controlSocket = manager.createControlSocket(); } multiplexer.update(addresses); Collection<Socket> sockets = multiplexer.getAll(); pollers.clear(); for (Socket socket : sockets) { ZMQ.Poller poller = manager.getContext().poller(); poller.register(socket, ZMQ.Poller.POLLIN); poller.register(controlSocket, ZMQ.Poller.POLLIN); pollers.put(socket, poller); } } }
private void rebuild() { pollact = null; pollSize = pollers.size(); if (pollset != null) { pollset.close(); } pollset = context.poller(pollSize); assert (pollset != null); pollact = new SPoller[pollSize]; int itemNbr = 0; for (SPoller poller : pollers) { pollset.register(poller.item); pollact[itemNbr] = poller; itemNbr++; } dirty = false; }
/** * Closes an existing socket and creates a new one, binding it to the list of active publisher endpoints. */ private synchronized void reconnect() { if (!doRefresh.getAndSet(false)) { return; } closeSocket(); manager.reserve(socketId); Context context = manager.getContext(); socket = context.socket(ZMQ.SUB); SocketHelper.configure(socket, metadata); socket.subscribe(EMPTY_BYTES); // receive all messages for (SocketAddress address : addresses) { socket.connect(address.toProtocolString()); } // establish a socket for receiving control messages controlSocket = manager.createControlSocket(); poller = context.poller(); poller.register(controlSocket, ZMQ.Poller.POLLIN); poller.register(socket, ZMQ.Poller.POLLIN); }
/** * Closes an existing socket and creates a new one, binding it to the list of active publisher endpoints. */ private synchronized void reconnect() { if (!doRefresh.getAndSet(false)) { return; } closeSocket(); manager.reserve(socketId); Context context = manager.getContext(); socket = context.socket(ZMQ.SUB); SocketHelper.configure(socket, metadata); socket.subscribe(EMPTY_BYTES); // receive all messages for (SocketAddress address : addresses) { socket.connect(address.toProtocolString()); } // establish a socket for receiving control messages controlSocket = manager.createControlSocket(); poller = context.poller(); poller.register(controlSocket, ZMQ.Poller.POLLIN); poller.register(socket, ZMQ.Poller.POLLIN); }
private void bind() { if (socket != null) { // Socket is still active, ignore. This can happen if bind is called after the receiver has been rescheduled return; } manager.reserve(id); socket = manager.getContext().socket(socketType); SocketHelper.configure(socket, metadata); address.getPort().bind(Port.TYPE.TCP); socket.bind(address.toProtocolString()); controlSocket = manager.createControlSocket(); poller = manager.getContext().poller(); poller.register(controlSocket, ZMQ.Poller.POLLIN); poller.register(socket, ZMQ.Poller.POLLIN); }
private void bind() { if (socket != null) { // Socket is still active, ignore. This can happen if bind is called after the receiver has been rescheduled return; } manager.reserve(id); socket = manager.getContext().socket(socketType); SocketHelper.configure(socket, metadata); address.getPort().bind(Port.TYPE.TCP); socket.bind(address.toProtocolString()); controlSocket = manager.createControlSocket(); poller = manager.getContext().poller(); poller.register(controlSocket, ZMQ.Poller.POLLIN); poller.register(socket, ZMQ.Poller.POLLIN); }