Package zmq

Class Ctx


  • public class Ctx
    extends java.lang.Object
    • Field Detail

      • active

        private boolean active
      • sockets

        private final java.util.List<SocketBase> sockets
      • emptySlots

        private final java.util.Deque<java.lang.Integer> emptySlots
      • starting

        private final java.util.concurrent.atomic.AtomicBoolean starting
      • terminating

        private boolean terminating
      • slotSync

        private final java.util.concurrent.locks.Lock slotSync
      • selectors

        private final java.util.List<java.nio.channels.Selector> selectors
      • reaper

        private Reaper reaper
      • ioThreads

        private final java.util.List<IOThread> ioThreads
      • slotCount

        private int slotCount
      • termMailbox

        private final Mailbox termMailbox
      • endpoints

        private final java.util.Map<java.lang.String,​Ctx.Endpoint> endpoints
      • endpointsSync

        private final java.util.concurrent.locks.Lock endpointsSync
      • maxSocketId

        private static java.util.concurrent.atomic.AtomicInteger maxSocketId
      • maxSockets

        private int maxSockets
      • ioThreadCount

        private int ioThreadCount
      • blocky

        private boolean blocky
      • optSync

        private final java.util.concurrent.locks.Lock optSync
      • selectorSync

        private final java.util.concurrent.locks.Lock selectorSync
      • ipv6

        private boolean ipv6
      • errno

        private final Errno errno
      • exhandler

        private java.lang.Thread.UncaughtExceptionHandler exhandler
      • exnotification

        private java.lang.Thread.UncaughtExceptionHandler exnotification
    • Constructor Detail

      • Ctx

        public Ctx()
    • Method Detail

      • destroy

        private void destroy()
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • isActive

        public boolean isActive()
        Returns:
        false if terminate()terminate() has been called.
      • checkTag

        @Deprecated
        public boolean checkTag()
        Deprecated.
        use isActive() instead
        Returns:
        false if terminate()terminate() has been called.
      • terminate

        public void terminate()
      • shutdown

        final void shutdown()
      • setUncaughtExceptionHandler

        public void setUncaughtExceptionHandler​(java.lang.Thread.UncaughtExceptionHandler handler)
        Set the handler invoked when a Poller abruptly terminates due to an uncaught exception.

        It default to the value of Thread.getDefaultUncaughtExceptionHandler()

        Parameters:
        handler - The object to use as this thread's uncaught exception handler. If null then this thread has no explicit handler.
      • getUncaughtExceptionHandler

        public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler()
        Returns:
        The handler invoked when a Poller abruptly terminates due to an uncaught exception.
      • setNotificationExceptionHandler

        public void setNotificationExceptionHandler​(java.lang.Thread.UncaughtExceptionHandler handler)
        In Poller.run(), some non-fatal exceptions can be thrown. This handler will be notified, so they can be logged.

        Default to Throwable.printStackTrace()

        Parameters:
        handler - The object to use as this thread's handler for recoverable exceptions notifications.
      • getNotificationExceptionHandler

        public java.lang.Thread.UncaughtExceptionHandler getNotificationExceptionHandler()
        Returns:
        The handler invoked when a non-fatal exceptions is thrown in zmq.poll.Poller#run()
      • set

        public boolean set​(int option,
                           int optval)
      • get

        public int get​(int option)
      • createSocket

        public SocketBase createSocket​(int type)
      • initSlots

        private void initSlots()
      • destroySocket

        void destroySocket​(SocketBase socket)
      • createSelector

        public java.nio.channels.Selector createSelector()
      • closeSelector

        public boolean closeSelector​(java.nio.channels.Selector selector)
      • sendCommand

        void sendCommand​(int tid,
                         Command command)
      • chooseIoThread

        IOThread chooseIoThread​(long affinity)
      • registerEndpoint

        boolean registerEndpoint​(java.lang.String addr,
                                 Ctx.Endpoint endpoint)
      • unregisterEndpoint

        boolean unregisterEndpoint​(java.lang.String addr,
                                   SocketBase socket)
      • unregisterEndpoints

        void unregisterEndpoints​(SocketBase socket)
      • findEndpoint

        Ctx.Endpoint findEndpoint​(java.lang.String addr)
      • pendConnection

        void pendConnection​(java.lang.String addr,
                            Ctx.Endpoint endpoint,
                            Pipe[] pipes)
      • connectPending

        void connectPending​(java.lang.String addr,
                            SocketBase bindSocket)
      • errno

        public Errno errno()
      • forwardChannel

        int forwardChannel​(java.nio.channels.SelectableChannel channel)
        Forward a channel in a monitor socket.
        Parameters:
        channel - a channel to forward
        Returns:
        the handle of the channel to be forwarded, used to retrieve it in getForwardedChannel(Integer)
      • getForwardedChannel

        java.nio.channels.SelectableChannel getForwardedChannel​(java.lang.Integer handle)
        Retrieve a channel, using the handle returned by forwardChannel(SelectableChannel). As WeakReference are used, if the channel was discarded and a GC ran, it will not be found and this method will return null.
        Parameters:
        handle -
        Returns:
      • cleanForwarded

        private void cleanForwarded()
        Clean all empty references