Package zmq
Class Ctx
- java.lang.Object
-
- zmq.Ctx
-
public class Ctx extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classCtx.ChannelForwardHolderA class that holds the informations needed to forward channel in monitor sockets.static classCtx.Endpointprivate static classCtx.PendingConnectionprivate static classCtx.Side
-
Field Summary
Fields Modifier and Type Field Description private booleanactiveprivate booleanblockyprivate java.util.Deque<java.lang.Integer>emptySlotsprivate java.util.Map<java.lang.String,Ctx.Endpoint>endpointsprivate java.util.concurrent.locks.LockendpointsSyncprivate Errnoerrnoprivate java.lang.Thread.UncaughtExceptionHandlerexhandlerprivate java.lang.Thread.UncaughtExceptionHandlerexnotificationprivate Ctx.ChannelForwardHolderforwardHolderprivate intioThreadCountprivate java.util.List<IOThread>ioThreadsprivate booleanipv6private static java.util.concurrent.atomic.AtomicIntegermaxSocketIdprivate intmaxSocketsprivate java.util.concurrent.locks.LockoptSyncprivate MultiMap<java.lang.String,Ctx.PendingConnection>pendingConnectionsprivate Reaperreaperprivate static intREAPER_TIDprivate java.util.List<java.nio.channels.Selector>selectorsprivate java.util.concurrent.locks.LockselectorSyncprivate intslotCountprivate IMailbox[]slotsprivate java.util.concurrent.locks.LockslotSyncprivate java.util.List<SocketBase>socketsprivate java.util.concurrent.atomic.AtomicBooleanstarting(package private) static intTERM_TIDprivate booleanterminatingprivate MailboxtermMailboxprivate static intWAIT_FOREVER
-
Constructor Summary
Constructors Constructor Description Ctx()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleancheckTag()Deprecated.useisActive()instead(package private) IOThreadchooseIoThread(long affinity)private voidcleanForwarded()Clean all empty referencesbooleancloseSelector(java.nio.channels.Selector selector)private voidconnectInprocSockets(SocketBase bindSocket, Options bindOptions, Ctx.PendingConnection pendingConnection, Ctx.Side side)(package private) voidconnectPending(java.lang.String addr, SocketBase bindSocket)java.nio.channels.SelectorcreateSelector()SocketBasecreateSocket(int type)private voiddestroy()(package private) voiddestroySocket(SocketBase socket)Errnoerrno()(package private) Ctx.EndpointfindEndpoint(java.lang.String addr)(package private) intforwardChannel(java.nio.channels.SelectableChannel channel)Forward a channel in a monitor socket.intget(int option)(package private) java.nio.channels.SelectableChannelgetForwardedChannel(java.lang.Integer handle)Retrieve a channel, using the handle returned byforwardChannel(SelectableChannel).java.lang.Thread.UncaughtExceptionHandlergetNotificationExceptionHandler()(package private) ZObjectgetReaper()java.lang.Thread.UncaughtExceptionHandlergetUncaughtExceptionHandler()private voidinitSlots()booleanisActive()(package private) voidpendConnection(java.lang.String addr, Ctx.Endpoint endpoint, Pipe[] pipes)(package private) booleanregisterEndpoint(java.lang.String addr, Ctx.Endpoint endpoint)(package private) voidsendCommand(int tid, Command command)booleanset(int option, int optval)voidsetNotificationExceptionHandler(java.lang.Thread.UncaughtExceptionHandler handler)InPoller.run(), some non-fatal exceptions can be thrown.voidsetUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler handler)Set the handler invoked when aPollerabruptly terminates due to an uncaught exception.(package private) voidshutdown()voidterminate()(package private) booleanunregisterEndpoint(java.lang.String addr, SocketBase socket)(package private) voidunregisterEndpoints(SocketBase socket)
-
-
-
Field Detail
-
WAIT_FOREVER
private static final int WAIT_FOREVER
- See Also:
- Constant Field Values
-
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
-
slots
private IMailbox[] slots
-
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
-
TERM_TID
static final int TERM_TID
- See Also:
- Constant Field Values
-
REAPER_TID
private static final int REAPER_TID
- See Also:
- Constant Field Values
-
pendingConnections
private final MultiMap<java.lang.String,Ctx.PendingConnection> pendingConnections
-
ipv6
private boolean ipv6
-
errno
private final Errno errno
-
exhandler
private java.lang.Thread.UncaughtExceptionHandler exhandler
-
exnotification
private java.lang.Thread.UncaughtExceptionHandler exnotification
-
forwardHolder
private Ctx.ChannelForwardHolder forwardHolder
-
-
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.useisActive()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 aPollerabruptly 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
Pollerabruptly terminates due to an uncaught exception.
-
setNotificationExceptionHandler
public void setNotificationExceptionHandler(java.lang.Thread.UncaughtExceptionHandler handler)
InPoller.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)
-
getReaper
ZObject getReaper()
-
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)
-
connectInprocSockets
private void connectInprocSockets(SocketBase bindSocket, Options bindOptions, Ctx.PendingConnection pendingConnection, Ctx.Side side)
-
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 byforwardChannel(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
-
-